ITPub博客

首页 > IT职业 > IT职场 > 动态产生TextBox,并获取TextBox值。

动态产生TextBox,并获取TextBox值。

IT职场 作者:gyu 时间:2021-09-09 10:11:53 0 删除 编辑


 

动态添加,需要在PostBack之后,保留状态,因此需要用到ViewState. 下面是简单代码。

5acf071e0001405b00110016.jpgView Code   显示文本框结果:<asp:Label ID="LabelResult" runat="server" Text=""></asp:Label><br />
            这里装载动态产生的文本框:
            <asp:PlaceHolder ID="PlaceHolderLoadTextBox" runat="server"></asp:PlaceHolder><br />

            <asp:Button ID="ButtonDyGenerate" runat="server" Text="动态产生文本框" OnClick="ButtonDyGenerate_Click" />
            <asp:Button ID="ButtonGetTextBoxValue" runat="server" Text="获取文本框值" OnClick="ButtonGetTextBoxValue_Click" />

 

动态产生TextBox:

5acf071e0001405b00110016.jpgDymanicallyCreateTextBox()  private void DymanicallyCreateTextBox()
    { 
        TextBox tb = new TextBox();
        tb.ID = "TextBox1";
        this.PlaceHolderLoadTextBox.Controls.Add(tb);
    }

 

当用户点击铵钮[动态产生文本框]事件时,记得用ViewState来记录是否有动态创建过TextBox。

5acf071e0001405b00110016.jpgView Code  protected void ButtonDyGenerate_Click(object sender, EventArgs e)
    {
        ViewState["Insus.NET"] = true;
        DymanicallyCreateTextBox(); 
    }

 

在Page_Load事件,去判断ViewState是否为真。

5acf071e0001405b00110016.jpgPage_Load  protected void Page_Load(object sender, EventArgs e)
    {
        if (ViewState["Insus.NET"] != null)
            DymanicallyCreateTextBox(); 
    }

 

最后是获取动态产生的TextBox,当用户输入值这后,点击[获取文本框值]铵钮,获取值。

5acf071e0001405b00110016.jpgButtonGetTextBoxValue_Click  protected void ButtonGetTextBoxValue_Click(object sender, EventArgs e)
    {
        if (ViewState["Insus.NET"] != null)
        {
            foreach (Control ctl in this.PlaceHolderLoadTextBox.Controls)
            {
                if (ctl is TextBox && ((TextBox)ctl).ID == "TextBox1")
                    this.LabelResult.Text = (ctl as TextBox).Text;
                break;
            }
        }
    }

 

 

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/832/viewspace-2817946/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-04-12

  • 博文量
    129
  • 访问量
    1327