C#后台创建控件并获取值的方法

本文实例讲述了C#后台创建控件并获取值的方法。分享给大家供大家参考。具体实现方法如下:

前台代码:

代码如下:

<form id=”form1″ runat=”server”>

<div>

<div class=”item”>

Please input a number:

<asp:TextBox runat=”server” CssClass=”item” ID=”txtTextCount”></asp:TextBox>

<asp:Button runat=”server” ID=”btnCreate” Text=”Create TextBox List” ValidationGroup=”CreateTextBox”

OnClick=”btnCreate_Click” />

<asp:Button runat=”server” ID=”btnOK” Text=”获取控件值” ValidationGroup=”ShowListContent”

OnClick=”btnOK_Click” />

</div>

<div runat=”server” id=”divControls” class=”item”>

</div>

<div runat=”server” id=”divMessage”>

</div>

</div>

</form>

后台代码:

代码如下:

protected void Page_Load(object sender, EventArgs e)

{

if (this.IsPostBack)

{

int txtCount = int.Parse(txtTextCount.Text);

// 注意:每次PostBack时,都需要重新动态创建TextBox

CreateTextBoxList(txtCount);

}

}

///<summary>

/// Create textbox list

///</summary>

///<param name=”num”>textbox list count</param>

private void CreateTextBoxList(int num)

{

HtmlGenericControl div;

HtmlGenericControl span;

TextBox txt;

//RegularExpressionValidator rev;

for (int i = 0; i < num; i++)

{

//创建div

div = new HtmlGenericControl();

div.TagName = “div”;

div.ID = “divTextBox” + i.ToString();

div.Attributes[“class”] = “item2”;

//创建span

span = new HtmlGenericControl();

span.ID = “spanTextBox” + i.ToString();

span.InnerHtml = “Url Address” + (i + 1).ToString() + “:”;

//创建TextBox

txt = new TextBox();

txt.ID = “txt” + i.ToString();

txt.CssClass = “input”;

//创建格式验证控件,并且将其关联到对应的TextBox

//rev = new RegularExpressionValidator();

//rev.ID = “rev” + i.ToString();

//rev.ControlToValidate = txt.ID;

//rev.Display = ValidatorDisplay.Dynamic;

//rev.ValidationGroup = “ShowListContent”;

//rev.ValidationExpression = @”(http(s)?://)?([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?”;

//rev.ErrorMessage = “Invalid url Address!”;

//添加控件到容器

div.Controls.Add(span);

div.Controls.Add(txt);

//div.Controls.Add(rev);

divControls.Controls.Add(div);

}

}

protected void btnCreate_Click(object sender, EventArgs e)

{

txtTextCount.Enabled = false;

btnCreate.Enabled = false;

}

protected void btnOK_Click(object sender, EventArgs e)

{

TextBox txt;

HtmlGenericControl span;

StringBuilder sbResult = new StringBuilder();

int txtCount = int.Parse(txtTextCount.Text);

//遍历获取动态创建的TextBox们中的Text值

for (int i = 0; i < txtCount; i++)

{

//注意:这里必须通过上层容器来获取动态创建的TextBox,才能获取取ViewState内容

txt = divControls.FindControl(“txt” + i.ToString()) as TextBox;

if (txt != null && txt.Text.Trim().Length > 0)

{

sbResult.AppendFormat(“Url Address{0}: {1}.<br />”, i + 1, txt.Text.Trim());

}

}

//遍历获取动态创建的TextBox们中的Text值

for (int i = 0; i < txtCount; i++)

{

//注意:这里必须通过上层容器来获取动态创建的TextBox,才能获取取ViewState内容

span = divControls.FindControl(“spanTextBox” + i.ToString()) as  HtmlGenericControl ;

if (span != null && span.InnerText.Trim().Length > 0)

{

sbResult.AppendFormat(“Url Address{0}: {1}.<br />”, i + 1, span.InnerText.Trim());

}

}

divMessage.InnerHtml = sbResult.ToString();

}

除声明外,跑步客文章均为原创,转载请以链接形式标明本文地址
  C#后台创建控件并获取值的方法

本文地址:  http://www.paobuke.com/develop/c-develop/pbk23156.html

相关内容

C#实现十五子游戏

详解MongoDB for C#基础入门

C#中Json字符串的各种应用类实例讲解

C#多线程处理多个队列数据的方法


C# MVC模式中应该怎样区分应用程序逻辑(Controller层)和业务逻辑(Model层)?

C#中结构(struct)的部分初始化和完全初始化实例分析

C#观察者模式(Observer Pattern)实例教程

C#中类与结构的区别实例分析

时间: 2024-08-04 21:24:49

C#后台创建控件并获取值的方法的相关文章

无边框窗体、后台创建控件、简单通讯

一.无边框窗体 1.控制按钮如何制作: 就是放置可以点击的控件,不局限于使用按钮或是什么别的,只要可以点击能触发点击事件就可以了 (1)美化一下的话那就可以把鼠标移入,移出,按下三个事件让按钮改变样式 (2)如何获取图片的相对路径 //鼠标移入时显示的图片 private void pictureBox1_MouseEnter(object sender, EventArgs e) { pictureBox1.BackgroundImage = Image.FromFile(Applicatio

无边框窗体和后台创建控件

1.无边框窗体 最小化 最大化 关闭 按钮 不一定非要用按钮来做, 可以用图片 写事件,加上鼠标 移入移出 点击 来操作 MouseEnter-鼠标移入的时候发生的事件 private void pictureBox1_MouseEnter(object sender, EventArgs e) { pictureBox1.BackgroundImage = Image.FromFile(Application.StartupPath + "\\..\\..\\images\\btn_close

安卓Android控件ListView获取item中EditText值

可以明确,现在没有直接方法可以获得ListView中每一行EditText的值. 解决方案:重写BaseAdapter,然后自行获取ListView中每行输入的EditText值. 大概算法:重写BaseAdapter.getView函数,用一个数组存储EditText中的值,根据position即数组下标,在getView中动态更新EditText和动态获取EditText中的值.因为ListView中的item是复用的,如果不动态清空或动态获取EditText中值,就会出现数据紊乱,或者没数

如何获取上一个页面中checkbox控件选中的值

php开发中,<php开发中.<php开发中.如何获取上一个页面中checkbox控件选中的值呢?并输出出来,以下是代码示例: <? $music=$_POST['music']; //取得所选中的checkbox个数 $coun=count$music; ifis_arrai$music{ echo'您选择的 : '; foreach$musicas$kei=>$var echo'  ['.$var.']'; echo$key; } ?> *****************

转 python通过win32api轻松获取控件的属性值

python通过win32api轻松获取控件的属性值 2014-08-29 15:26:56|  分类: 自动化测试 |  标签:win32  |举报|字号 订阅 下载LOFTER我的照片书  | 1.如何利用句柄操作windows窗体 首先,获得窗体的句柄  win32api.FindWindows() 第二,获得窗体中控件的id号,spy++ 第三,根据控件的ID获得控件的句柄(hwnd)  GetDlgItem(hwnd,loginID) 最后,利用控件句柄进行操作 python可以通过w

Android控件ListView获取item中EditText值

可以明确,现在没有直接方法可以获得ListView中每一行EditText的值. 解决方案:重写BaseAdapter,然后自行获取ListView中每行输入的EditText值. 大概算法:重写BaseAdapter.getView函数,用一个数组存储EditText中的值,根据position即数组下标,在getView中动态更新EditText和动态获取EditText中的值.因为ListView中的item是复用的,如果不动态清空或动态获取EditText中值,就会出现数据紊乱,或者没数

026-代码创建控件-iOS笔记

学习目标 1.[理解]代码创建控件过程 2.[理解]代码实现QQ登陆界面 3.[理解]图片浏览器 4.[理解]汤姆猫小游戏 一.代码创建控件过程 所有控件都是类的对象,不同的类创建可以不同类型的控件.也是就说创建一个控件其实就是创建一个对应类的对象. 常用控件类型 UIButton:按钮,界面上可点击的大都是按钮 UILabel:标签,界面上只显示文字不能点击大都是标签 UITextField:文本框,界面上可输入数据的文本框 UIImageView:图片框,界面上不可点击的图片大都是图片框 使

线程间操作无效: 从不是创建控件“button1”的线程访问它。

.net2后是不能跨线程访问控件的.,窗体上的控件是当前主线程创建的,当用户异步执行一个方法:在该方法中给窗体上的控件赋值,记住:当执行一个异步委托的时候,其实 就是开了一个线程去执行那个方法,这样就会报错:线程间操作无效: 从不是创建控件“某某某”的线程访问它. C# WinForm开 发中,这是一个比较常见的异常:线程间操作无效,从不是创建控件“xxx”的线程访问它.这个异常来源于.NET2的一个限制:工作线程不能访问窗口线程 创建的控件.解决方法主要有两种,一种是在窗口线程中设置Check

[Winform]线程间操作无效,从不是创建控件的线程访问它的几个解决方案,async和await?

目录 概述 取消跨线程检查 使用委托异步调用 sync和await 总结 概述 最近在qq群里有一朋友,问起在winform中怎么通过开启线程的方式去处理耗时的操作,比如,查看某个目录下所有的文件,或者符合要求的文件.下班回来,也研究了一下.发现多线程这块有点薄弱,也算是补一补吧. 在winform开发,经常会遇到需要在控件上加载大量数据(也就是常说的耗时操作),这会导致程序出现假死状态,这个时候我们就会想到线程. 在智能客户端应用程序中,这样的线程创建并管理用户界面 (UI),因而称为 UI