Javascript 在asp.net中使用updatePanel后,DropDownList将丢失其属性

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

我有下面的代码有智能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({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});
}