【问题标题】:ASP.NET Dropdown - Works when MasterPage EnableViewState = trueASP.NET 下拉菜单 - 在 MasterPage EnableViewState = true 时工作
【发布时间】:2009-02-10 22:35:43
【问题描述】:

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

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

没用

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

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

有什么想法吗?

【问题讨论】:

    标签: asp.net drop-down-menu


    【解决方案1】:

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

    【讨论】:

    • 那么在Page本身中设置并不会覆盖它?
    • 母版页设置在这里被覆盖,并且有效地关闭了 Viewstate
    【解决方案2】:

    克里斯是 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"];
      

      【讨论】:

        猜你喜欢
        • 2023-03-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-11-03
        • 2018-02-25
        • 2023-03-20
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多