2008-09-29 30 views
1

当添加一些复杂的EditItemTemplate(多个字段在一个模板中),然后解析来自RowUpdating事件的控件时,用户手动输入的控件没有值。我的猜测是,当数据绑定时会有一些事情发生,但是我已经有了一些实例,只需向代码隐藏中的控件添加属性并将其属性添加到代码中即可启动该行为并删除该代码以使代码正常工作。作为解决方法,我可以通过Request(controlname.UniqueId)来获取它的值,但这只是一种破解。ASP.NET GridView回发没有设置发布控件的值

编辑 当我访问值,像这样

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

文本框被发现,但为.text是没有对用户输入。

回答

1

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

0

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

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

我以前使用的语法和它的工作原理就像一个魅力。

0

搬迁后回的数据绑定到Page_Init

+0

不,那是太早:) 任何地方从加载预呈现是确定IIRC。我更喜欢坚持加载。 – leppie 2008-09-29 16:25:45

相关问题