我有一個應用程序與24個不同的窗體。他們有一些安全選項,基於這些選項,5個不同的按鈕提交,批准,第二批准,第三批准,拒絕等獲取啓用禁用。訪問動態控件內的屬性給出空引用異常
現在我設計了一個MainForm,其中包含所有按鈕和安全代碼。我已經創建了每個表單作爲一個用戶控件,並根據用戶想要的形式動態加載它們。我的加載工作非常好。我加載控件並將其添加到主頁面的頁面加載事件中的佔位符。
現在當用戶選擇提交按鈕時,我想調用窗體的usercontrol內的Save方法,因爲每個窗體都會有一個單獨的Save。所以當我嘗試這段代碼片段時,我得到了Null引用錯誤。請讓我知道如何解決它。
Private UCDynamic As UserControl
然後在頁面加載事件中,我使用此代碼
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If not Me.IsPostBack
UCDynamic = LoadControl("Controls/BkCode.ascx")
Me.PlaceHolderForm.Controls.Add(UCDynamic)
End if
然後在ButtonClick事件的提交我做這個
Protected Sub Save_OnClick(ByVal sender As Object, ByVal e As EventArgs)
Save()
End Sub
Sub Save()
CType(Me.UCDynamic, controls_BkCode).Save()
End Sub
那是從哪裏獲得的投空引用錯誤。因此,在發佈後控件不再存在於頁面上。任何想法將不勝感激。
謝謝。