前言
本文主要給大家介紹了關于c#動態代碼生成控件后其他事件不能獲取該控件值的相關內容,分享出來供大家參考學習,下面話不多說了,來一起看看詳細的介紹吧
1.新建web項目,添加兩個button控件,結果如圖。
2.button按鈕控件點擊事件代碼如下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
protectedvoid button1_click( object sender, eventargs e) { textbox t = newtextbox(); t.id = "test" ; t.text = "測試框" ; t.attributes.add( "runat" , "server" ); form1.controls.add(t); response.write(((textbox)form1.findcontrol( "test" )).text); } protectedvoid button2_click( object sender, eventargs e) { response.write(((textbox)form1.findcontrol( "test" )).text); } |
點擊button1控件:
可以看到動態生成的文本框的值成功獲取到。
但是點擊button2會出現如下結果:
原因是因為動態生成的文本框其實是html控件,所以獲取文本框的值 控時,要注意獲取的方法,不同時間獲取的方法不同.(頁面一加載完時的值 和 控件的原有值改變時 兩種情況)
3.代碼修改成如下即可獲取動態生成的文本框的值。
結果:
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對服務器之家的支持。
原文鏈接:https://www.cnblogs.com/galoliy/p/csharp.html