首页 文章

ASP.NET下拉列表 - 在MasterPage EnableViewState = true时工作

提问于
浏览
2

我有一个下拉菜单,在回发时,我无法获得所选值 .

  • MasterPage EnableViewState = False

  • 内容页面ViewState = true

  • DropdownList控件ViewState = true

不行

如果我切换Masterpage EnableViewState = true,它可以工作,但是网站的其余部分确实不需要视图状态,所以理想情况下我希望它被启用 .

数据绑定发生在Page_Init处理程序中,其中有一个Page.IsPostBack子句 .

有任何想法吗?

3 回答

  • 1

    克里斯100%正确 . 如果你只想在这个控件上维护状态,你可以继承 DropDown 并添加控制状态 . 无论ViewState设置如何,这都有效 .

    Here is a Phil Haack tutorial on control state.

  • 3

    我认为您应该能够从Form集合中获取下拉列表的选定值(无需启用ViewState),例如:

    if (IsPostBack)
        string selectedValue = Request.Form["Id_of_the_DropDownList"];
    
  • 6

    每页只有一个Viewstate(除了控制状态,它存储在viewstate中) . 如果您在母版页上将其关闭,则会在页面上将其关闭 .

相关问题