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

时间:2009-02-10 22:35:43

标签: asp.net drop-down-menu

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

  • MasterPage EnableViewState = False
  • 内容页面ViewState = true
  • DropdownList Control ViewState = true

不起作用

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

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

有什么想法吗?

3 个答案:

答案 0 :(得分:6)

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

答案 1 :(得分:3)

克里斯100%正确。如果您只想在这个控件上维护状态,可以继承DropDown并添加控件状态。这适用于任何ViewState设置。

Here is a Phil Haack tutorial on control state.

答案 2 :(得分:1)

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

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