說到動態建立控制項 就必須說下頁面的生命週期了 上個簡單的圖
說下可能遇到的問題 控制項建立好了 但再點別的按鈕時 就又消失了 因為沒有儲存狀態
還有的在init檢視viewstate等 這些都是對頁面生命週期理解的並不清楚~ 下面上demo說
第一步 先是動態建立控制項
<第二部 動態建立的code 這裡說下 點選按鈕動態建立的原理 點選按鈕時 給hiddenfield賦值 或者viewstate賦值 然後在建立控制項 這樣當每次進入頁面時 判斷iddenfield或者viewstate是否有值 有值則顯示那個動態建立的控制項 這樣就儲存住裡狀態 當你再點其他控制項時則不會丟失了 再次強調 不要寫在!ispostback裡面 那個是是否回發html
xmlns
="">
<
head
runat
="server"
>
<
title
>
title
>
head
>
<
body
>
<
form
id="form1"
runat
="server"
>
<
div>
<
asp:hiddenfield
id="hfcontrol"
runat
="server"
/>
<
asp:button
id="btncreate"
runat
="server"
text
="動態建立"
onclick
="btncreate_click"
/>
<
asp:button
id="getvalue"
runat
="server"
text
="獲取選中的值"
onclick
="getvalue_click"
/>
<
asp:label
id="lbl"
runat
="server"
text
="">
asp:label
>
<
asp:panel
id="panelcontrol"
runat
="server"
>
asp:panel
>
div>
form
>
body
>
html
>
protected第三部 則是點選控制項 獲得動態建立的控制項選中的值 這裡寫了點選控制項獲得 還寫了 自身回發事件獲得void
page_load(
object
sender, eventargs e)if(
!ispostback)
//這個是判斷是否為回發 如果把建立控制項寫在這裡 控制項當然會消失咯
}///
///建立控制項
//////
///protected
void
btncreate_click(
object
sender, eventargs e)
//////
動態建立dropdownlist控制項
///private
void
createdropdownlist()
//////順便說下 在頁面裡加上 page指令裡 加上 trace="true" 可以看到很多細節 幫助很大點選按鈕 獲得選中的ddl的值
//////
///protected
void
getvalue_click(
object
sender, eventargs e)
}///
///動態建立的dropdownlist的事件 注意動態建立時 訂閱了這個事件
//////
///protected
void
ddl_selectedindexchanged(
object
sender, eventargs e)
}
ispostback 的本質和原理~ 看到很多人說 在page裡都要加上這個 看~ 今天的例子不就沒加麼~
歡迎關注~
如何動態建立按鈕,並響應訊息
如何讓動態建立的按鈕響應滑鼠雙擊?利用按鈕的bs pushbutton風格,具有該風格的按鈕被單擊時會發出wm command訊息,他的響應原理和用類嚮導定義的函式一樣。只不過它的響應函式原形,訊息對映以及函式實現需要你自己手動寫進去 例如 如 cbutton m btn 因為按鈕是顯示在對話方塊上...
Jquery獲得控制項值的方法
一 jquery獲得伺服器控制項值的方法 伺服器控制項 1.txtuserid.clientid val 2.input id txtuserid val 3.id txtuserid val 二 jquery獲得控制項值的方法 取值 是乙個jquery物件,而不是乙個dom element val...
C 動態建立按鈕及 按鈕的訊息響應
動態建立的按鈕 都會在訊息 oncommand 中得到處理,無論是什麼訊息,都會處理的 1 建立按鈕 複製 如下 cbutton btn new cbutton leuxserz btn create t 方法 ws child ws visible,crect 0,0,50,50 this,2 注...