C#增加连续的动态控件并取值的例子
来源:互联网 发布:虚拟主机php安装配置 编辑:程序博客网 时间:2024/06/04 18:37
-
功能
- 每点一次页面上的增加控件的Button, 增加一个TextBox到Panel中。点击取值的Button,可以获取前面增加的所有TextBox的值说明动态增加的控件,需要在PostBack时重新加载一次,在重复加载时,我们只需要指点控件的ID,其它属性可以不设定了。
-
CS CODE
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class AddTextBoxSample : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
ReLoadAddedTextBoxs();
}
//重新加载已经加载过的TextBox
private void ReLoadAddedTextBoxs()
{
for (int i = 1; i <= AddedTextBoxIds.Count; i++)
{
TextBox tb = new TextBox();
tb.ID = i.ToString();
Panel1.Controls.Add(tb);
}
}
private const string c_ids = "TextBoxIds";
/// <summary>
/// 纪录下动态增加的TextBox的ID值
/// </summary>
private ArrayList AddedTextBoxIds
{
get
{
if (ViewState[c_ids] == null)
ViewState[c_ids] = new ArrayList();
return ViewState[c_ids] as ArrayList;
}
set { ViewState[c_ids] = value; }
}
protected void BT_AddControl_Click(object sender, EventArgs e)
{
//获取现在要增加的TextBox的ID索引
string id = Convert.ToString(AddedTextBoxIds.Count + 1);
TextBox newBox = new TextBox();
newBox.Width = Unit.Pixel(200);
newBox.ID = id;
newBox.Text = "现在是增加的第" + id + "个TextBox";
Panel1.Controls.Add(newBox);
AddedTextBoxIds.Add(id); //纪录下新增加的TextBoxID,在下次PostBack时重新加载
}
protected void BT_GetControlsValue_Click(object sender, EventArgs e)
{
for (int i = 1; i <= AddedTextBoxIds.Count; i++)
{
TextBox tb = Panel1.FindControl(i.ToString()) as TextBox;
if (tb != null)
{
//这里是加载的TextBox的值
//tb.Text....
//tb.ID.....
}
}
}
}
HTML CODE
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="AddTextBoxSample.aspx.cs" Inherits="AddTextBoxSample" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>增加动态的TextBox,并取值的例子</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Panel ID="Panel1" runat="server" Height="278px" Width="549px">
</asp:Panel>
<asp:Button ID="BT_AddControl" runat="server" OnClick="BT_AddControl_Click" Text="增加一个TextBoxControl" />
<asp:Button ID="BT_GetControlsValue" runat="server" OnClick="BT_GetControlsValue_Click"
Text="取得动态加载的TextBox的值" /></div>
</form>
</body>
</html>
- C#增加连续的动态控件并取值的例子
- C#增加连续的动态控件并取值的例子
- android控件的动态增加
- js的动态增加控件
- android控件的动态增加
- 动态生成控件并取值
- JQuery动态添加控件并取值
- android里,addContentView()动态增加view控件,并实现控件的顶部,中间,底部布局
- android里,addContentView()动态增加view控件,并实现控件的顶部,中间,底部布局
- c#动态增加控件实例
- C#动态加载ActiveX控件并调用指定的方法
- javascript动态增加表单的控件
- AngularJS 监听 动态增加的控件模型
- c# winForm TableLayoutPanel学习 合并行的布局及动态增加删除内部控件
- ASP.NET (C#)动态在CS代码中给页面增加用户控件并给用户控件的属性赋值
- 取表单中动态控件名的值
- c# 获取动态控件的值
- C#获取动态生成的控件值
- 又掏了台笔记本
- vs2005中字符集不匹配的一个问题
- How Computers Represent ImagesThe PPM File Format(http://cs.anu.edu.au/Student/comp1100.2006.s1/assts/asst1/ppm.html)
- 计算机网络发展阶段的划分
- 哇哈哈,太好笑了
- C#增加连续的动态控件并取值的例子
- 多个参数的传递
- 计算机网络的形成
- 用MySQL创建数据库和数据库表
- asp程序错误详细说明例表
- VB 系统待机 代码
- 专门的线程类,多个参数的传递
- asp之FSO大全
- 正则表达式30分钟入门教程