切换到ASP.NET 3.5,DropDownList不记得动态添加的项目

时间:2009-01-15 00:37:01

标签: asp.net drop-down-menu asp.net-3.5 viewstate

我有一个网站使用了几个数据绑定的DropDownLists。我也在做传统的if(!IsPostBack){list.Databind();}并依赖于viewstate来保持帖子在帖子中填充。我最近将网站转换为ASP.NET 3.5并注意到在回发期间列表是空的(就像ViewState被禁用一样)。我没有明确地禁用任何内容,并且想知道是否有人在其视图状态依赖控件中看到了类似的更改或行为。

谢谢!

詹姆斯

2 个答案:

答案 0 :(得分:3)

我确实看到过类似的问题(虽然我的能见度很高)。尝试确保在整个控件层次结构上显式启用ViewState,直到下拉列表。

e.g。

‹asp:Page EnableViewState="True" ...›
     ...

     ‹asp:Panel EnableViewState="True"...›
         ...
         ‹asp:DropDownList EnableViewState="True" ...›
         ...
      ...
...

R上。

答案 1 :(得分:2)

此代码片段粘贴到麻烦的页面中,可快速查看启用/禁用viewstate的位置。

<%
Control c = <YourMisbehavingControlNameHere>;

while ( c != null )
{
    Response.Write( c.GetType().Name + " = " + c.EnableViewState.ToString() + "<br/>" );

    c = c.Parent;
}

%>