繁体   English   中英

CSS在updatepanel中消失了

[英]CSS disappearing in updatepanel

我有这个问题,我将整个页面都放在了更新面板中,我有几个具有Visible="false"属性的ASP:Pannel

其中一个包含asp:RadioButtonList Yes,No

Page_Load() ,通过单选按钮列表,其中之一对用户可见。 因此,当他按“ Yess ,另一个面板对他可见。

问题是我有一个包含asp:DropDownList的面板,

CssClass="span6 chzn-select">

因此,当该面板可见时, DropDownList css消失了!。 我知道更新面板回发有问题,但是我不知道如何解决。 DropDownList也从名为“ selected”的JQuery文件中获取样式,但是我在任何页面上都没有任何脚本,我只是将css类放到了它的样式中。 提前致谢。

javascript对元素所做的修改(例如添加样式)不会通过回发,甚至部分回发也不会持续。 回传后需要重做所有的javascript初始化。

这是一个JavaScript代码段,该代码段添加了用于完成部分回发的回调。 您可以使用此设置您的用户界面:

<script type="text/javascript">
    var prm = Sys.WebForms.PageRequestManager.getInstance();
    prm.add_endRequest(EndRequest);

    function EndRequest(sender, args) {
    }
</script>

摘录自这个问题

诸如Chosen之类的插件不仅仅是CSS。 他们使用JavaScript查找具有该类的选择元素,并使用可以很好地样式化的不同标记来扩展/替换它们。

并不是说UpdatePanel刷新时您的CSS丢失了,而是选择的JavaScript并未运行以查找和重新增强带有选择子类的常规<select>元素。

您应该可以使用以下代码重新初始化它们:

$('.chzn-select').chosen();

您可以在页面加载时以及在每次UpdatePanel刷新后通过将其放入ASP.NET按照约定调用的pageLoad()函数中来运行该代码

function pageLoad() {
  $('.chzn-select').chosen();
}

在同一页面中添加以下js函数(不在documentready内部)

<script>
function pageLoad() {
 $('#drpClients').addClass('span6 chzn-select');
}
</script>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM