我有一个简单的用户控件,其中包含两个文本框,我将其添加到Button Click事件的占位符中。我在View状态中存储点击次数(计数)并使用count运行循环以创建所有先前添加的用户控件。我还为每个用户控件添加ID(附加“UC”和计数)。我还检查了视图源,每次创建时ID都相同。我有另一个按钮,基本上回复了一个帖子。我在所有控件中都有EnableViewState enabled =“true”,一直到Page Level。 我的问题是用户输入不会在回发上持续存在。请指教。这不应该自动发生吗?
答案 0 :(得分:1)
看看这个:
http://www.denisbauer.com/ASPNETControls/DynamicControlsPlaceholder.aspx
我在Web场遇到了一些小问题,但对于简单的部署,它的使用非常简单。 (附带源代码,Web场故障是一个非常简单的修复。)
答案 1 :(得分:1)
您需要在Page_PreInit事件而不是Page_Load或Click事件处理程序中创建动态控件。这样,它们将在ViewState之前出现,然后应用您发布的值。
我认为发生的事情是您在Click事件处理程序中创建控件,该处理程序在应用ViewState和PostBack之后发生。这意味着您的控件每次都会被创建为空。