在PostBack的DataBinding之后,在GridView内的UpdatePanel内调用TextBox的TextChanged事件

时间:2013-04-15 20:27:28

标签: asp.net ajax gridview updatepanel postback

我在UpdatePanel里面有一个TextBox,它位于GridView内部。 UpdatePanel的目的是在调用TextChanged事件时更新TextBox(就像在我的previous question中一样)。

这是我在阅读完主题后开始工作的。但是我现在遇到的问题是我必须在PostBack中向GridView添加新数据,并且以下新行不会触发TextChanged事件。只有GridView中的第一行才有。

因此,我想在RowCreated事件中为TextChanged事件设置EventHandler,以便在创建新行之前设置Handler,但我似乎仍然遗漏了一些内容。我们很乐意接受任何线索:)

PS:如果你想查看我的一些代码,我现在必须参考上一个问题的代码,因为我现在在家。我明天回去工作后就可以发布。

1 个答案:

答案 0 :(得分:0)

愚蠢的我再次罢工! 在代码隐藏中,AsyncPostback从未进入gridview在回发时构建新行的部分。因此,TextChanged事件仅发生在第一行,因为它是唯一一条在没有发生回发时也构建的行。

这里棘手的部分是在AsyncPostback中查找是否通过PostBack调用了最后一次Page_Load。我想我是通过一种非常肮脏的方式解决它的:在PostBack上我在Page_Load中写入了一个隐藏字段的某个值。之后我检查了该值是否仍在hiddenField中。如果是这样,那么我知道在AsyncPostback中我必须去PostBack的路线,如果没有那么。

如果有人想出一个更好的方法来实现这一目标,欢迎您开导我:)