网页生命周期-动态添加控件
有程序动态创建控件

1,获取文本框内容;规避输入问题try{}catch{}
2,在panel中按数量添加文本框pnl.controls.add(ctl)
3,添加时同时在文本框中设置值
4,测算总共控件数量:controls.count
5,判断某控件是不是文本框:control is textbox
点击没有事件的控件,刷新页面的分析
1.按“创建”
提交页面-pageload- BtnClick
2.按“计数”
提交页面-pageload-BtnClick
ASP代码
<body>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="TxtInfo" runat="server"></asp:TextBox>
<asp:Button ID="BtnClick" Width="80" Text="创建控件组" runat="server" OnClick="BtnClick_Click" />
<br />
<asp:Panel ID="Panel1" runat="server" Width="529px">
</asp:Panel>
</div>
</form>
</body>
C#
protected void Page_Load(object sender, EventArgs e) { int i = 0; try { //用户输入的转换类型int 赋值给i i = Int32.Parse(TxtInfo.Text); } catch (Exception) { } TextBox txtBox; //定义一个控件 if (i > 0) { for (int y = 0; y < i; y++) { //实例化控件 txtBox = new TextBox(); txtBox.Text = "无"; //将控件添加到pannel容器中 Panel1.Controls.Add(txtBox); } } } //为什么要添加在pageload页面中,是因为没点击click事件后页面会刷新,我们利用页面刷新来加载 protected void BtnClick_Click(object sender, EventArgs e) { } }
动态累加求和
protected void butcount_Click(object sender, EventArgs e) { //创建变量接收求和 double sum = 0; //创建textbox实例 TextBox text; foreach (Control item in Panel1.Controls) { if (item is TextBox) { text = (TextBox)item; try { sum += double.Parse(text.Text); } catch { } } } txtcount.Text = sum.ToString(); } }

浙公网安备 33010602011771号