我正在生成UserControl
的实例,并将它们放在UL
中。在我的UserControl
中,有一个带有事件的按钮。我想问一下如何保持我生成的UserControls的状态,以便它们在回发后保留在页面上并捕获它们的事件。
For i As Integer = 0 To lstFoo.Count - 1
Dim liFoo As New HtmlGenericControl("li")
Dim ucMyFoo As ucFoo = LoadControl("userControls/ucFoo.ascx")
liFoo.Controls.Add(ucMyFoo)
ucMyFoo.DoSomething()
ulFoo.Controls.Add(liFoo)
Next
答案 0 :(得分:1)
听起来好像在帖子上,你没有运行上面列出的逻辑。您是否只在GET请求上运行上述代码?无论是GET还是POST,您都可以确保它在Page_Load中执行。
另一种方法是编写一个UL Web用户控件,该控件具有添加内置ucFoo.ascx控件的逻辑。然后只需将此UL Web用户控件(ascx)包含在您的webform中。
这将使您的生活更轻松,因为这个新的Web用户控件将始终在页面上,并且您不会动态添加控件。