如對 動態增加 控制項 沒概念的人,請參閱 ASP.NET 動態載入控制項 基礎篇
這篇來示範,動態增加頁面控制項並設定回傳事件,在事件中 取得 動態增加的控制項中輸入的值
如此 做法的動態控制項,請注意 需要在 Init or Load 事件中來增加,如此 ASP.NET 的 ViewState 才能正確設定相對控制項的參數
1 <%@ Page Language="C#" AutoEventWireup="True" %>
2
3 <script language="C#" runat=server>
4 public void Page_Init(object sender, System.EventArgs e)
5 {
6 Label message = new Label();
7 message.ID = "請輸入你要說的話";
8 sourceTag.Controls.Add(message);
9
10 TextBox input = new TextBox();
11 input.ID = "input";
12 sourceTag.Controls.Add(input);
13
14 Button btnSayHello = new Button();
15 btnSayHello.ID = "btnSayHello";
16 btnSayHello.Text = "SayHello";
17 btnSayHello.Click += new EventHandler(SubmitBtn_Click);
18 sourceTag.Controls.Add(btnSayHello);
19 }
20
21 void SubmitBtn_Click(Object sender, EventArgs e)
22 {
23 TextBox input = (TextBox)sourceTag.FindControl("input");
24 LiteralControl lc;
25 lc = new LiteralControl("<H3>" + input.Text + "</H3>");
26 sourceTag.Controls.Add(lc);
27 }
28
29 </script>
30 <html>
31 <head>
32 <meta http-equiv="content-type" content="text/html; charset=utf-8" />
33 </head>
34 <body>
35 <form runat="server">
36
37 <h3>動態增加控制項 Event 篇</h3>
38
39 <p/>
40 <div id="sourceTag" runat="server">
41 </div>
42 <p/>
43 一條小龍
44 </form>
45 </body>
46 </html>