2014-03-31 96 views
0

我的ASP页面有一个DropDownList(DDL)和一堆复选框。当我的用户选择一个DDL项目时,我有一些JS/jQuery代码根据某些逻辑使多个复选框不可见。但是,运行C#代码隐藏事件处理程序所需的DDL回发会导致整个页面重新绘制并使所有复选框可见。Dropdownlist Postback干扰Javascript

如何防止回发消除JS的操作?我应该将可见性位存储在ViewState之类的东西中吗?

是否有可能让JS代码在回发后运行,而不是之前?

对于ASP DropDownList,使用CallBack而不是PostBack可以吗?我在想,Ajax的乐趣是避免回发,只更新控件而不是整个页面。

回答

1

那么,如果下拉菜单回到与您为复选框切换开关相同的操作中,为什么不把复选框显示/隐藏在服务器而不是客户端?你可以使用隐藏字段的方法,这将工作正常。

回调意味着UI需要通过JavaScript进行更新。我不知道所有回发更新是什么,但是您必须通过JSON发送所有内容,并通过JavaScript刷新UI。所以只有你可以打这个电话。

+0

谢谢,这是有道理的。显然,使用ASP,你不能只是混合任何数量的JS。而使用ASP,有很多选择可以达到预期的效果。 – Roland