如何在没有autopostback = true的情况下使用下拉列表。
根据从客户端选择的值,不会更改服务器上的值。正如我已经说过的那样,我不希望每次下拉,我都有自动回复会触发回发。
答案 0 :(得分:2)
它将保存在视图状态中,因此当您最终回发时,该值将是正确的,如果您真的急于在没有回发的情况下获取当前值,则javascript将是执行此操作的方法。
答案 1 :(得分:2)
任何时候我都失去了下拉菜单的价值,这是因为我在处理价值变化之前搞砸了并重新填充下拉。对我来说,我需要做一些特殊的事情,例如为Javascript添加项目属性等等。这是需要在每个页面加载时添加的数据(也就是下拉列表中不存在的数据)每个项目的名称和价值)。在这些情况下,我已经在加载时完成了这项工作,然后我尝试在页面生命周期和DOH中稍后检索该值!
以下是页面生命周期:
http://msdn.microsoft.com/en-us/library/ms178472.aspx
正在发生的甜甜圈。您可能只是在处理用于获取值的任何回发事件之前重新加载项目。如果您正在执行此操作并且无法绕过此工作流程,只需将所选索引保存在填充下拉列表的逻辑的开头,然后在完成后使用该值设置下拉列表的选定索引。
答案 2 :(得分:1)
最糟糕的情况是,您可以直接从请求对象中获取值:
string selectedID = Request[DropdownControl.UniqueID];
答案 3 :(得分:0)
您应确保在初始页面加载期间仅填充带有选项的选择框,而不是在回发期间再次填充
if (!this.Page.IsPostBack) {
//fill select box here
}