2

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

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

不工作

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

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

有任何想法吗?

4

3 回答 3

6

每页只有一个视图状态(除了控件状态,它存储在视图状态中)。如果在 Masterpage 上将其关闭,则在页面上将其关闭。

于 2009-02-10T22:37:36.533 回答
3

克里斯是 100% 正确的。如果您只想维护这个控件的状态,您可以子类化DropDown并添加控件状态。这与任何 ViewState 设置无关。

这是关于控制状态的 Phil Haack 教程。

于 2009-02-10T22:40:26.857 回答
1

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

if (IsPostBack)
    string selectedValue = Request.Form["Id_of_the_DropDownList"];
于 2009-02-10T22:58:06.517 回答