DataGrid动态生成模板列,模板列里面有一个TextBox,如何获取用户在TextBox里面输入的值啊?
这个问题已经有人问过,但是没有看到真正解决的方法。
Datagrid中动态生成的列,ASP.NET不为其维持状态,也就是在Postback后会自动消失,只要页面一提交所有动态生成的列就消失了。
所以要在Page_Load中自己重新动态生成列,而且不管IsPostBack属性的值都生成。
这样就会有个问题,当点击确定按钮的时候,页面提交,调用Page_Load()重新动态生成Datagrid的列,那用户在TextBox里输入的值就消失了。
如果是显示定义的DataGrid的模板列就没问题,不用在Page_Load里重新生成列,用户在TextBox输入的值也会保存下来。
相关帖子:
http://community.csdn.net/Expert/topic/3607/3607808.xml?temp=.2782099
http://community.csdn.net/Expert/topic/3466/3466563.xml?temp=.8329126