【发布时间】:2011-01-05 15:42:30
【问题描述】:
我被困住了!如果我想利用视图状态,我了解页面生命周期以及如何在 page_init 上添加动态控件。我也知道我应该尽可能避免动态控制。动态控件的创建取决于从自定义树视图发送的自定义事件参数创建的对象。问题是我需要视图状态,所以我需要在 page_init 中创建它们,但我没有事件参数来创建对象,该对象告诉我要添加哪些控件,直到生命周期的后期。解决方案...
Private Function GetEventArgs() As npTreeViewEventArgs
Dim control As Control = Nothing
Dim e As npTreeViewEventArgs = Nothing
Dim ctrlname As String = Page.Request.Params("__EVENTTARGET")
Dim args As String = Request.Params("__EVENTARGUMENT")
If ctrlname IsNot Nothing AndAlso ctrlname <> String.Empty Then
control = Page.FindControl(ctrlname)
End If
If TypeOf control Is npTreeView AndAlso Not String.IsNullOrEmpty(args) Then
e = New npTreeViewEventArgs(args)
End If
Return e
End Function
我在 page_init 中使用它来创建我的对象和控件。这对我来说感觉很肮脏。有没有其他方法可以解决这个问题?
【问题讨论】: