我想在ASP.NET中创建动态DropDownList
,但在回发后DropDownList
会丢失所选值。在回发时重新创建控件无效(ViewState,相同的ID)。
我想知道DropDownList
的ViewState是否不起作用。我之前创建了动态TextBox,它们在回发后保留了值。
我正在考虑从本文中的表单帖子中获取值:
http://www.aspsnippets.com/Articles/Creating-Dynamic-DropDownList-Controls-in-ASP.Net.aspx
这是解决这个问题的常见方法吗?
答案 0 :(得分:4)
如果不是,则应在Init上动态创建下拉列表,然后在Load上或之后读取/写入其属性。看一下这篇文章:http://www.4guysfromrolla.com/articles/092904-1.aspx,它更详细地描述了它。
答案 1 :(得分:0)
您必须在加载ViewState之前重新创建控件,例如在OnInit
或OnPreInit
期间。每次回发页面时,您还需要为控件分配相同的ID,因为ViewState使用控件ID重新加载值。