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

首先看看效果:

 

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

ExpandedBlockStart.gif View 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:

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

 

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

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

 

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

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

 

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

ExpandedBlockStart.gif ButtonGetTextBoxValue_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;
            }
        }
    }

 

 

转载于:https://www.cnblogs.com/insus/archive/2012/09/23/2698613.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值