2

我有一个 radgrid 控制用户对应用程序的访问。有两列,一个“名称”列和一个复选框“访问”列,代表他们当前的访问权限。复选框是从数据库中填充的。我想更改复选框以授予或拒绝对我指定的用户的访问权限。由于有很多用户,我想进行多项更改并使用提交按钮将更改写入数据库。我不想回发每个复选框更改并等待页面“闪烁”。我的问题是,在禁用复选框回发的情况下,当我单击提交时,复选框的值没有记录我所做的更改。我需要一种方法来访问复选框的当前客户端状态或一些解决方法来完成此操作。

提前致谢!

4

4 回答 4

1

您可以使用 javascript 发送一个 ajax 请求,将更改保存到数据库,而无需重新加载页面。然后您的更新立即发生并且没有“眨眼”。

于 2010-06-16T22:52:54.680 回答
1

谢谢你的支持。事实证明,问题不在于客户端/服务器端的可见性,而在于页面生命周期。我正在刷新 PageLoad 方法中的 radgrid 并检查 Submit 方法中复选框的值。我没有意识到 PageLoad 是在提交之前执行的,因此清除了我的选择。通过从 PageLoad 中删除 RadGrid 刷新,复选框的当前值得以保留。

于 2010-06-21T17:40:46.420 回答
0

如果您将 AutoPostBack 设置为 false,则将禁用回发,但它们仍应发布其当前值。

在我看来,这更像是复选框动态生成的问题。

于 2010-06-16T22:46:36.333 回答
0

不知道为什么你不能在服务器端访问复选框的值,但要回答你的问题“我需要一种方法来访问复选框的当前客户端状态或一些解决方法来完成这个”......

您可以使用服务器标签并在客户端读取复选框的值。

有关服务器标签的更多信息,请阅读此MSDN链接。

于 2010-06-16T22:51:26.790 回答