我有这个问题,我把整个页面放在更新面板中,我有几个ASP:Pannel
Visible="false"
属性。
其中一个包含asp:RadioButtonList
Yes,No
在Page_Load()
其中一个用户通过单选按钮列表可见。
因此,当他按Yess
时,另一个小组会对他可见。
问题是我有一个包含asp:DropDownList
和
CssClass="span6 chzn-select">
因此,当此面板显示时,DropDownList
css
消失!
我知道更新面板回帖有问题,但我不知道如何解决这个问题。
同样DropDownList
从被调用的JQuery文件中获取样式,但我在任何页面都没有任何脚本,我只是把css类放在它的风格上。
提前谢谢。
答案 0 :(得分:0)
javascript对元素(如添加样式)所做的修改不会通过回发,甚至是部分回发来保留。所有javascript初始化都需要在回发后重做。
这是一个javascript片段,它添加了一个回调以完成部分回发。您可以使用它来设置UI:
<script type="text/javascript">
var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.add_endRequest(EndRequest);
function EndRequest(sender, args) {
}
</script>
答案 1 :(得分:0)
像Chosen这样的插件不仅仅是CSS。他们使用JavaScript来查找具有该类的select元素,并使用可以很好地设计样式的不同标记来扩充/替换它们。
当UpdatePanel刷新时,并不是你的CSS丢失,而是选择的JavaScript没有运行来查找并重新增强那些带有Chosen类的普通<select>
元素。
您应该可以使用以下代码重新初始化它们:
$('.chzn-select').chosen();
您可以在页面加载时运行该程序,并在每次UpdatePanel刷新后将其放入the pageLoad() function that ASP.NET calls by convention:
function pageLoad() {
$('.chzn-select').chosen();
}
答案 2 :(得分:0)
在同一页面中添加以下js函数(不在documentready中)
<script>
function pageLoad() {
$('#drpClients').addClass('span6 chzn-select');
}
</script>