急!请问怎样得到动态添加的TextBox的Text值(c#) 本人设想点击一个静态的服务器端按钮后,得到由PageLoad事件中生成的TextBox的Text值,请问能否实现?我得理解是:点击服务器端按钮后,会先进行回调,但一回调动态生成的TextBox就没了,值肯定也得不到了。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 最笨的办法是:用 Request.Form 你 在设置TextBox时在页面上放置一个Hidden控件,保持TextBox的值。 上面方法不行或是本人能力有限代码如下:private void Page_Load(object sender, System.EventArgs e){ TextBox tb=new TextBox(); tb.ID="txt_gwgs"+(i).ToString(); tb.Width=System.Web.UI.WebControls.Unit.Percentage(70); tb.EnableViewState=true; p_gwgs.Controls.Add(tb); TextBox tb_ex=(TextBox)Form1.FindControl("txt_gwgs"+gwgsCount.ToString()); tb_ex.text;//值为空,不知为何。在回调前我是录入了值的} >>>点击服务器端按钮后,会先进行回调,但一回调动态生成的TextBox就没了正确的做法是,在Page_Load或之前重新生成这个TextBox,这样,在PostBack之后,这个TextBox还会存在,你也可以在按钮的Click事件函数里得到这个TextBox的值,否则的话,你可以用Request.Form[YourTextBox.UniqueID]或Request.Form["YourTextBoxName"]的方法来获取它的值 >>>tb_ex.text;//值为空,不知为何。在回调前我是录入了值的因为你的对象是在Page_Load里生成的,在Page_Load里用普通的方法是得不到其值的,参考我的blog里有关动态对象的几个帖子http://blog.joycode.com/saucer 思归的话很有道理,哦的 意思是你在给TextBox赋值的时候也给隐藏控件赋值。没有什么问题,我经常都是这样用的,不过有时也在按钮的事件用TextBox tb_ex=(TextBox)Form1.FindControl("txt_gwgs"+gwgsCount.ToString());因为它的值是通过ViewState 保存的。 在PostBack时,将控件重新生成就可以了,但此时不要赋值 !! MVC3如何应对每月增加的数据库 js的WdatePicker控件如何禁止键盘输入? ajax方式添加数据,再在gridview中显示出来,但是gridview始终显示不了新增的数据,必须刷新下页面才能看到 奇怪的问题,请进 dropdownlist在ie下点击2次才显示数据 用户控件之间传值问题 发布一个动态读取的多层菜单控件(有例子) Session的生命期 Web Control 和 Html Control 缺省下字体多不是宋体,如何设置缺省下字体? 如何通过数据库配置多表头JSON,遍历方式 天啊,怎么回事??我的IIS出现问题了! 字符串操作的函数求教
private void Page_Load(object sender, System.EventArgs e)
{
TextBox tb=new TextBox();
tb.ID="txt_gwgs"+(i).ToString();
tb.Width=System.Web.UI.WebControls.Unit.Percentage(70);
tb.EnableViewState=true;
p_gwgs.Controls.Add(tb);
TextBox tb_ex=(TextBox)Form1.FindControl("txt_gwgs"+gwgsCount.ToString());
tb_ex.text;//值为空,不知为何。在回调前我是录入了值的
}
或
Request.Form["YourTextBoxName"]的方法来获取它的值
TextBox tb_ex=(TextBox)Form1.FindControl("txt_gwgs"+gwgsCount.ToString());
因为它的值是通过ViewState 保存的。