Javascript 在asp.net中使用updatePanel后,DropDownList将丢失其属性
我有下面的代码有智能dropdownlist在asp.net有搜索属性那里Javascript 在asp.net中使用updatePanel后,DropDownList将丢失其属性,javascript,c#,asp.net,Javascript,C#,Asp.net,我有下面的代码有智能dropdownlist在asp.net有搜索属性那里 <script type="text/javascript"> $(".chzn-select").chosen(); $(".chzn-select-deselect").chosen({ allow_single_deselect: true }); </script> $(“.chzn select”).select()$(“.chzn select deselect”).selected
<script type="text/javascript"> $(".chzn-select").chosen(); $(".chzn-select-deselect").chosen({ allow_single_deselect: true }); </script>
$(“.chzn select”).select()$(“.chzn select deselect”).selected({allow_single_deselect:true});
问题是,每当我以这种方式使用updatepanel时:
<asp:UpdatePanel ID="UpdatePanel1" runat="server" >
<ContentTemplate>
<fieldset>
</fieldset>
</ContentTemplate>
</asp:UpdatePanel>
之后:它将丢失其属性并作为正常的dropdownlist返回。知道如何修复此问题并使更新面板不将dropdownlist重新创建为其以前的属性吗 您需要在UpdatePanel更新后再次执行该脚本。因为DOM仍然在变化,浏览器会丢失脚本绑定。您可以使用
PageRequestManager
进行此操作
<script type="text/javascript">
var prm = Sys.WebForms.PageRequestManager.getInstance();
//for after an updatepanel update
prm.add_endRequest(function () {
buildDropDownList();
});
//for normal page load
buildDropDownList();
function buildDropDownList() {
$(".chzn-select").chosen();
$(".chzn-select-deselect").chosen({ allow_single_deselect: true });
}
</script>
var prm=Sys.WebForms.PageRequestManager.getInstance();
//对于updatepanel更新之后的
prm.add_endRequest(函数(){
buildDropDownList();
});
//用于正常页面加载
buildDropDownList();
函数buildDropDownList(){
$(“.chzn select”).select();
$(“.chzn select deselect”).selected({allow_single_deselect:true});
}