我有一個MasterPage,我的Usercontrol在div中。如何停止執行UserControls PageLoad方法?
我可以設置visible = false到UserControl和包含div,並且這工作正常。 但UserControl的Page_Load始終被打中。
這是設計,還是我錯過了如何停止頁面執行進入UserControl的Page_Load方法。
我有一個MasterPage,我的Usercontrol在div中。如何停止執行UserControls PageLoad方法?
我可以設置visible = false到UserControl和包含div,並且這工作正常。 但UserControl的Page_Load始終被打中。
這是設計,還是我錯過了如何停止頁面執行進入UserControl的Page_Load方法。
你不能停止執行進入用戶控件的PageLoad事件方法。
@joshperry建議使用Visible屬性來確定是否在代碼中執行耗時的操作是一件好事。
另一種選擇是在OnPreRender事件方法中完成耗時的選項。
當您將一個UserControl添加到一個頁面中時,它將在每次頁面執行時被實例化並添加到Page.Controls集合中。當你將Visible設置爲false時,它基本上只是短路了控件html的呈現,所以它不會顯示在頁面上。
如果您的控件在「Page_Load」中執行了一些昂貴的操作,我將關閉Visible屬性以規避該操作。
如果控制從未被創建,你怎麼能說它是不可見的?