關於使用者控制項事件丟失問題解決

2022-02-23 09:46:34 字數 1105 閱讀 7315

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視窗,執行命令跳...