首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在ASP.Net web表单中生成动态文本框的最佳方式是什么?

在ASP.Net web表单中生成动态文本框的最佳方式是什么?
EN

Stack Overflow用户
提问于 2013-10-09 13:01:50
回答 3查看 1.1K关注 0票数 1

我需要生成动态文本框(最多5-10 )根据用户的反应。那么,就性能和速度而言,最好的方法是什么呢?

EN

回答 3

Stack Overflow用户

发布于 2013-10-09 13:07:28

这里有一个非常有用的链接,并解释了为什么

link from here

  • 始终在Page_PreInit()中添加动态控件
  • 在动态加载时始终分配ID

例如

代码语言:javascript
复制
protected void Page_PreInit(object sender, EventArgs e) 
{ 
        Control c= LoadControl("./WebUserControl2.ascx"); 
        i=i+1; 
        c.ID= i.ToString(); 
        PlaceHolder1.Controls.Add(c); 
} 

代码语言:javascript
复制
protected void Page_PreInit(object sender, EventArgs e) 
{ 
         LinkButton button1 = new LinkButton(); 
         button1.ID = "button1" 
         button1.Text = "button1" 
         PlaceHolder1.Controls.Add(button1); 
}
票数 0
EN

Stack Overflow用户

发布于 2013-10-09 13:08:44

代码语言:javascript
复制
int n=5;
for (int i=0;i<n;i++)
{
TextBox MyTextBox=new TextBox();
//Assigning the textbox ID name 
MyTextBox.ID = "tb" +""+ ViewState["num"] + i;
MyTextBox.Width = 540;
MyTextBox.Height = 60;
MyTextBox.TextMode = TextBoxMode.MultiLine;
this.Controls.Add(MyTextBox);
}

对于MVC,此链接可能会帮助您...http://www.codeproject.com/Articles/434886/Dynamically-adding-controls-on-a-hierarchical-stru

票数 0
EN

Stack Overflow用户

发布于 2013-10-09 13:15:03

以这种方式TRy

代码语言:javascript
复制
for (int j = 0; j < 10; j++)
            {                  

              //Create Dynamic textboxes with required field validator .

                TextBox tbChildFirstName = new TextBox();
                Label lblChildFirstName = new Label();
                lblChildFirstName.ID = "lblChildFirstName" + j;
                lblChildFirstName.Text = "Children FirstName";
                lblChildFirstName.Width = 200;
                lblChildFirstName.SkinID = "Outlabel";
                tbChildFirstName.ID = "txtChildFirstName" + j;
                tbChildFirstName.Text = "Hi hello";
                pnlChildDetail.Controls.Add(lblChildFirstName);
                pnlChildDetail.Controls.Add(tbChildFirstName);
                RequiredFieldValidator rqf = new RequiredFieldValidator();
                rqf.ID = "rqf" + i;
                pnlChildDetail.Controls.Add(rqf);
                rqf.ControlToValidate = "txtChildFirstName" + j;
                rqf.ErrorMessage = "Children FirstName is required";
                rqf.Display = ValidatorDisplay.Dynamic;
                rqf.ValidationGroup = "EligibilityCheck";
                rqf.SetFocusOnError = true;
                rqf.Text = "*";
                tbChildFirstName.Attributes.Add("runat", "server");
                pnlChildDetail.Controls.Add(GetLiteral("<br/>"));
                pnlChildDetail.Controls.Add(GetLiteral("<br/>"));

            }

public Literal GetLiteral(string text)
    {
        Literal rv = default(Literal);
        rv = new Literal();
        rv.Text = text;
        return rv;
    }

Aspx

代码语言:javascript
复制
<asp:Panel ID="pnlChildDetail" Style="text-align: left; padding-left: 10px" Width="100%"
        runat="server">
    </asp:Panel>

有关创建动态textbox表单数据库数据计数以及如何获取动态textbox值的更多详细信息?:请参阅my blog

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19263533

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档