添加某些复杂性的EditItemTemplate(一个模板中的多个字段),然后从RowUpdating事件解析控件时,用户手动输入的控件没有值。我的猜测是数据绑定时会发生一些事情,但我有一些实例,只需在代码隐藏中添加和属性控件就可以启动行为并删除代码使代码工作。作为解决方法,我可以请求(controlname.UniqueId)来获取它的值,但这是一个黑客攻击。
修改 当我像这样访问值时
TextBox txtValue = gvwSettings.SelectedRow.FindControl("txtValue") as TextBox;
找到文本框,但.Text不是用户输入。
答案 0 :(得分:1)
你关闭了ViewState吗? 您是否以编程方式在模板中添加控件?如果是这样,你是否在正确的阶段创建了它们?
答案 1 :(得分:0)
您应该能够使用GridViewUpdateEventArgs来检索输入的值,例如:
TextBox txtValue = gvwSettings.SelectedRow.FindControl("txtValue") as TextBox;
之前我使用过这种语法,它就像魅力一样。
答案 2 :(得分:0)
将后置后数据绑定移至Page_Init