ASP.NET 動態(tài)寫入服務器端控件
更新時間:2009年04月17日 22:28:33 作者:
使用Asp.net進行開發(fā)時,因為某些需求原因,需要在頁面中動態(tài)添加控件。當然,這些控件可以是普通的html標簽,也可以是Asp.net獨有的服務器端控件。
3. 后臺代碼:
以下為引用的內容:
復制代碼 代碼如下:
///<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++)
{
//創(chuàng)建div
div = new HtmlGenericControl();
div.TagName = "div";
div.ID = "divTextBox" + i.ToString();
div.Attributes["class"] = "item2";
//創(chuàng)建span
span = new HtmlGenericControl();
span.ID = "spanTextBox" + i.ToString();
span.InnerHtml = "Url Address" + (i+1).ToString() + ":";
//創(chuàng)建TextBox
txt = new TextBox();
txt.ID = "txt" + i.ToString();
txt.CssClass = "input";
//創(chuàng)建格式驗證控件,并且將其關聯(lián)到對應的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 Page_Load(object sender, EventArgs e)
{
if (this.IsPostBack)
{
int txtCount = int.Parse(txtTextCount.Text);
// 注意:每次PostBack時,都需要重新動態(tài)創(chuàng)建TextBox
CreateTextBoxList(txtCount);
}
}
protected void btnCreate_Click(object sender, EventArgs e)
{
txtTextCount.Enabled = false;
btnCreate.Enabled = false;
}
protected void btnOK_Click(object sender, EventArgs e)
{
TextBox txt;
StringBuilder sbResult = new StringBuilder() ;
int txtCount = int.Parse(txtTextCount.Text);
//遍歷獲取動態(tài)創(chuàng)建的TextBox們中的Text值
for (int i = 0; i < txtCount; i++)
{
//注意:這里必須通過上層容器來獲取動態(tài)創(chuàng)建的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());
}
}
divMessage.InnerHtml = sbResult.ToString();
}
4. 效果圖:

您可能感興趣的文章:
- ASP.NET自定義Web服務器控件之Button控件
- ASP.NET服務器端控件RadioButtonList,DropDownList,CheckBoxList的取值、賦值用法
- asp.net Page.EnableEventValidation 屬性驗證服務器控件的回發(fā)和回調事件出現(xiàn)的錯誤
- jquery獲取ASP.NET服務器端控件dropdownlist和radiobuttonlist生成客戶端HTML標簽后的value和text值
- asp.net 服務器控件的 ID,ClientID,UniqueID 的區(qū)別
- asp.net下使用Request.From獲取非服務器控件的值的方法
- jQuery生成asp.net服務器控件的代碼
- asp.net Page.Controls對象(找到所有服務器控件)
- Asp.Net使用服務器控件Image/ImageButton顯示本地圖片的方法
相關文章
c# 讀取文件內容存放到int數(shù)組 array.txt
c# 讀取文本的內容,并且將內容保存到int數(shù)組中,大家可以學習到c#一些數(shù)組跟讀取內容的函數(shù)。2009-04-04
使用最小?WEB?API?實現(xiàn)文件上傳的Swagger支持
這篇文章主要介紹了使用最小?WEB?API?實現(xiàn)文件上傳Swagger支持,我們使用最小?WEB?API?實現(xiàn)文件上傳功能,雖然客戶端訪問是正常的,但是當打開?Swagger?頁面時,沒法使用?Swagger?頁面測試,下面就來一篇支持Swagger的,需要的小伙伴可以參考一下2022-02-02
.net實現(xiàn)oracle數(shù)據(jù)庫中獲取新插入數(shù)據(jù)的id的方法
在oracle數(shù)據(jù)庫中實現(xiàn)插入數(shù)據(jù)的自動增長不是很容易,想在.net中實現(xiàn)獲取新插入數(shù)據(jù)的id,感興趣的朋友看下詳細的解決方法,希望對你有所幫助2013-04-04
解析WPF實現(xiàn)音頻文件循環(huán)順序播放的解決方法
本篇文章是對WPF實現(xiàn)音頻文件循環(huán)順序播放的方法進行了詳細的分析介紹,需要的朋友參考下2013-05-05

