我有一个站点,它使用了几个数据绑定的 DropDownLists。我也在做传统的 if (!IsPostBack) {list.Databind();} 并依靠 viewstate 在回发期间保持列表的填充。我最近将该站点转换为 ASP.NET 3.5,并注意到在回发期间列表为空(好像 ViewState 已禁用)。我没有明确禁用任何东西,我想知道是否有人在他们的视图状态相关控件中看到了类似的变化或行为。
谢谢!
詹姆士
我有一个站点,它使用了几个数据绑定的 DropDownLists。我也在做传统的 if (!IsPostBack) {list.Databind();} 并依靠 viewstate 在回发期间保持列表的填充。我最近将该站点转换为 ASP.NET 3.5,并注意到在回发期间列表为空(好像 ViewState 已禁用)。我没有明确禁用任何东西,我想知道是否有人在他们的视图状态相关控件中看到了类似的变化或行为。
谢谢!
詹姆士
我肯定看到过类似的问题(尽管我的问题很明显)。尝试确保 ViewState 在整个控件层次结构中显式启用,直至下拉列表。
例如
‹asp:Page EnableViewState="True" ...›
...
‹asp:Panel EnableViewState="True"...›
...
‹asp:DropDownList EnableViewState="True" ...›
...
...
...
R。
粘贴到麻烦页面的这段代码是查看视图状态启用/禁用位置的快速方法。
<%
Control c = <YourMisbehavingControlNameHere>;
while ( c != null )
{
Response.Write( c.GetType().Name + " = " + c.EnableViewState.ToString() + "<br/>" );
c = c.Parent;
}
%>