1

添加一些复杂的 EditItemTemplate(一个模板中的多个字段),然后从 RowUpdating 事件解析控件时,用户手动输入的控件没有值。我的猜测是绑定数据时会发生一些事情,但我有一些实例,只需在代码隐藏中添加和属性到控件即可启动行为并删除该代码使代码工作。作为一种变通方法,我可以 Request(controlname.UniqueId) 来获得它的价值,但那是一种黑客行为。

编辑 当我像这样访问值时

TextBox txtValue = gvwSettings.SelectedRow.FindControl("txtValue") as TextBox;

找到文本框,但 .Text 不是用户输入。

4

3 回答 3

1

您是否关闭了 ViewState?您是否以编程方式在模板中添加了控件?如果是这样,您是否在正确的阶段创建了它们?

于 2008-09-29T16:10:16.300 回答
0

您应该能够使用 GridViewUpdateEventArgs 来检索输入的值,例如:

TextBox txtValue = gvwSettings.SelectedRow.FindControl("txtValue") as TextBox;

我以前使用过这种语法,它就像一个魅力。

于 2008-09-29T16:07:34.637 回答
0

将回发数据绑定移动到 Page_Init

于 2008-09-29T16:24:14.847 回答