2010-09-10 62 views
0

我有一个扩展了默认gridview的gridview控件。我在“PreRender”事件期间向gridview添加了一个名为“hiddenSelectedValues”的属性,并且我有一个指向该属性值的私有变量。由javascript修改的gridview属性在回发中丢失

我有一些JavaScript代码,基于用户检查或取消选中网格中的复选框,修改此属性的值。我已经确认,javascript确实正在使用Firebug修改“hiddenSelectedValues”属性的值,以便在发生变化时查看更改。

但是,一旦回发发生,网格丢失此属性的更新值,我无法引用获取服务器端的更新值。

如何在回发时保持javascript改变的属性的值?

回答

1

您需要使用隐藏字段。这是因为请求没有将属性传递回Web服务器。


添加回复发表评论。

您可以使用隐藏字段INSIDE行来完成此操作,而不会出现任何问题。只需给隐藏字段设置相同的NAME属性并使用Request["<name>"].Split(",")即可在回发中检索值数组。

+0

嗯,我最初尝试使用hiddenfield,但由于这是一个gridview控件,我不得不将隐藏字段放在其中一行(header,footer,pager等)中。然后问题出现了,我需要在创建行之前访问隐藏字段的值,所以我必须从行和其他地方获取值,并且我认为创建一个新属性并将值存储在那里会起作用。有关如何解决此问题的任何建议? – 2010-09-10 20:14:32