本文实例讲述了C#后台创建控件并获取值的方法。分享给大家供大家参考。具体实现方法如下:
前台代码:
代码如下:<formid=”form1″runat=”server”>
<div>
<divclass=”item”>
Pleaseinputanumber:
<asp:TextBoxrunat=”server”CssClass=”item”ID=”txtTextCount”></asp:TextBox>
<asp:Buttonrunat=”server”ID=”btnCreate”Text=”CreateTextBoxList”ValidationGroup=”CreateTextBox”
OnClick=”btnCreate_Click”/>
<asp:Buttonrunat=”server”ID=”btnOK”Text=”获取控件值”ValidationGroup=”ShowListContent”
OnClick=”btnOK_Click”/>
</div>
<divrunat=”server”id=”divControls”class=”item”>
</div>
<divrunat=”server”id=”divMessage”>
</div>
</div>
</form>
后台代码:
代码如下:protectedvoidPage_Load(objectsender,EventArgse)
{
if(this.IsPostBack)
{
inttxtCount=int.Parse(txtTextCount.Text);
//注意:每次PostBack时,都需要重新动态创建TextBox
CreateTextBoxList(txtCount);
}
}
///<summary>
///Createtextboxlist
///</summary>
///<paramname=”num”>textboxlistcount</param>
privatevoidCreateTextBoxList(intnum)
{
HtmlGenericControldiv;
HtmlGenericControlspan;
TextBoxtxt;
//RegularExpressionValidatorrev;
for(inti=0;i<num;i++)
{
//创建div
div=newHtmlGenericControl();
div.TagName=”div”;
div.ID=”divTextBox”+i.ToString();
div.Attributes[“class”]=”item2″;
//创建span
span=newHtmlGenericControl();
span.ID=”spanTextBox”+i.ToString();
span.InnerHtml=”UrlAddress”+(i+1).ToString()+”:”;
//创建TextBox
txt=newTextBox();
txt.ID=”txt”+i.ToString();
txt.CssClass=”input”;
//创建格式验证控件,并且将其关联到对应的TextBox
//rev=newRegularExpressionValidator();
//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=”InvalidurlAddress!”;
//添加控件到容器
div.Controls.Add(span);
div.Controls.Add(txt);
//div.Controls.Add(rev);
divControls.Controls.Add(div);
}
}
protectedvoidbtnCreate_Click(objectsender,EventArgse)
{
txtTextCount.Enabled=false;
btnCreate.Enabled=false;
}
protectedvoidbtnOK_Click(objectsender,EventArgse)
{
TextBoxtxt;
HtmlGenericControlspan;
StringBuildersbResult=newStringBuilder();
inttxtCount=int.Parse(txtTextCount.Text);
//遍历获取动态创建的TextBox们中的Text值
for(inti=0;i<txtCount;i++)
{
//注意:这里必须通过上层容器来获取动态创建的TextBox,才能获取取ViewState内容
txt=divControls.FindControl(“txt”+i.ToString())asTextBox;
if(txt!=null&&txt.Text.Trim().Length>0)
{
sbResult.AppendFormat(“UrlAddress{0}:{1}.<br/>”,i+1,txt.Text.Trim());
}
}
//遍历获取动态创建的TextBox们中的Text值
for(inti=0;i<txtCount;i++)
{
//注意:这里必须通过上层容器来获取动态创建的TextBox,才能获取取ViewState内容
span=divControls.FindControl(“spanTextBox”+i.ToString())as HtmlGenericControl;
if(span!=null&&span.InnerText.Trim().Length>0)
{
sbResult.AppendFormat(“UrlAddress{0}:{1}.<br/>”,i+1,span.InnerText.Trim());
}
}
divMessage.InnerHtml=sbResult.ToString();
}
希望本文所述对大家的C#程序设计有所帮助。
您可能感兴趣的文章:C#Winform子窗体访问父级窗体的控件和属性C#使用Aspose.Cells控件读取ExcelC#实现多选项卡的浏览器控件C#实现用户自定义控件中嵌入自己的图标C#实现读取DataSet数据并显示在ListView控件中的方法C#实现DataGridView控件行列互换的方法C#日期控件datetimepicker保存空值的三种方法C#多线程与跨线程访问界面控件的方法C#实现简单的loading提示控件实例代码
详解C++中变量的初始化规则
C语言 选择排序算法详解及实现代码
上述就是C#学习教程:C#后台创建控件并获取值的方法分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/906018.html