1. 如何動態載入使用者控制項。經常會遇到這樣的問題,需要根據輸入的引數來決定是否或者是載入哪乙個ascx,也就是ms所說的用程式設計的方式載入使用者控制項。
常用的做法是在aspx加乙個placeholder---votecontrolph,
private void
loadvotecontrol()
2.動態載入使用者控制項的時會出現事件丟失的現象。
這是因為事件觸發時,loadvotecontrol不被重新執行,如果在
private void page_load(object sender, system.eventargs e)
}則會發生這樣的情況,正確的做法是將loadvotecontrol的呼叫放在ispostback 之外。
對於這種情況,csdn上的思歸有詳細的說明
3.如何給使用者控制項傳遞引數。
常用做法 在ascx中定義屬性,在aspx中建立ascx例項,並給屬性賦值。這樣做,在ascx中觸發事件時,如果還要用到這些屬性的值,就會發現屬性值已經丟了。原因很簡單,因為每個事件的觸發都是一次向服務端提交的過程,提交後重新執行ascx.cs,屬性值被初始化了。
我用了乙個比較笨的方法,用viewstate來儲存這些值,不知道還有沒有更好的方法?
4.使用者控制項中呼叫aspx的事件和方法。
要這樣做的話,首先,需要在ascx中定義事件的委託說明,看下面的例子:
ascx.cs:
public delegate void myeventhandle();
public event myeventhandle myevent;
//voteshowlt是個linkbutton
private void voteshowlt_click(object sender, system.eventargs e)
aspx.cs:
private void initializecomponent()
這樣,點選ascx中的voteshowlt就可以觸發aspx中的binddata的方法了。
5。使用者控制項支援巢狀呼叫,呼叫方法和apsx呼叫ascx一樣。
這不是丟不丟的問題,而是對http的本質以及控制項的生命週期是否了解的問題
控制項執行生命週期
PHP Session丟失問題解決
正常設定session,但是在某些windows伺服器始終有session丟失情況 session1.php 正常設定session,但是在某些windows伺服器造成session丟失 session start session test helloworld header location se...
關於c SESSION丟失問題解決辦法
我們在用c 開發程式的時候經常會遇到session很不穩定,老是資料丟失。下面就是session資料丟失的解決辦法希望對您有好處。1 在web.config檔案中修改session狀態儲存模式,如 2 啟動系統服務 asp.net狀態服務 系統預設是手動啟動的 3 如果session中儲存的資料型別...
mysql密碼丟失問題解決
1 結束mysqld.exe程序,停止mysql服務 停止mysql服務 net stop mysql2 將當前目錄切換到mysql的bin目錄 cd mysql mysql5.6.17 bin cd c wamp bin mysql mysql5.6.17 bin3 開啟乙個cmd視窗,執行命令跳...