我的ASP页面有一个DropDownList(DDL)和一堆复选框。当我的用户选择一个DDL项时,我有一些JS / jQuery代码,根据某些逻辑使几个复选框不可见。但是,运行C#代码隐藏事件处理程序所需的DDL回发会导致重绘整个页面并使所有复选框都可见。
如何防止回发消除JS的操作?我应该在ViewState中存储可见性位吗?
是否可以让JS代码在回发之后而不是之前运行?
对于ASP DropDownList,是否可以/轻松使用CallBack而不是PostBack?我认为Ajax的乐趣在于避免回发,只更新控件而不是整个页面。
答案 0 :(得分:1)
如果下拉列表发回的内容与您为复选框切换开关的操作相同,那么为什么不将逻辑放在服务器而不是客户端上显示/隐藏复选框?您可以使用隐藏字段方法,这样可以正常工作。
回调意味着需要通过JavaScript更新UI。我不知道所有的回发更新,但您必须通过JSON发送所有内容,并通过JavaScript刷新UI。所以只有你可以打电话。