我想动态生成GridView,在列里添加了TextBox控件~~~在TextBox里修改数据后,按“确定”按钮保存修改结果,但是PostBack后,GridView里的TemplateField都消失了,获取不了那些经过修改的数据。
如果把每一个动态生成的文本框控件写到一个hidden元素里,可以用逗号分割,在提交的时候根据hidden元素里的值来得到所有TextBox的Name,再用Request.Form["TextBox的Name"]得到其值,请问hidden元素在这里要怎样使用呢?
如果把每一个动态生成的文本框控件写到一个hidden元素里,可以用逗号分割,在提交的时候根据hidden元素里的值来得到所有TextBox的Name,再用Request.Form["TextBox的Name"]得到其值,请问hidden元素在这里要怎样使用呢?
解决方案 »
- 急求,TextBox输入规则
- IIS出现问题,请帮忙看看
- 一个ASP.NET计划书,各位高手们帮我分析一下~
- 返回值总是-1
- 懂Aspscript 能用Ajax 么?
- 在2003里面有没像2005里面网站发布的功能~~~~~~~~~~
- 用FreetextBox获取图片地址还没有解决的问题,难道没有人能解决吗?
- 网站调用电信,移动,联通开放接口向客户不定时发送相关资讯?
- onServerClick?
- 使用模糊查詢語句怎么寫﹖
- IIS上asp.net的问题
- 关于网页播放器object id="player" height="64" width="260" classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6">
{
this.hidden控件的ID.value +=((TextBox)gvSMPList.Rows[i].Cells[typeColumn].Controls[1]).Text.tostring();
}这样不就能把每个TextBox中的值累计加到Hidden控件上了,将以上代码写在button事件中看看行不
string hideV=Request.Form["hidev"];
string[] arrHideV=hideV.Split("js分隔name的分隔符号");//这个就是你需要的动态生成的textbox的name的集合了
{
this.hidden控件的ID.value +=((TextBox)gvSMPList.Rows[i].Cells[typeColumn].Controls[1]).Text.tostring();
}
这段代码,要放在那里好?
page_load()
{
if(!isPostBack)
{
代码
}
}这样的话应该就不会没有值了。
在PageLoad里面加if(!IsPostBack)判断
且不要指定EnableViewState=false
...
TextBox tb1 = new TextBox();
GridView.Rows[1].Controls.Add(tb1);
...获取ta1的值:
string tb1Value = ((TextBox)GridView.Rows[1].FindControl("tb1")).Text;
...(代码只是示例,随手写的,可能有小问题,请再适当修改)