在C#Update面板刷新后运行Javascript

时间:2014-06-12 07:09:51

标签: c# javascript jquery asp.net updatepanel

我正在使用蒙面输入插件来控制字段的输入(http://digitalbush.com/projects/masked-input-plugin/)..

这非常有效...直到我添加了更新面板并且在更新后没有更多屏蔽输入。我的页面中都有我的脚本。阅读jQuery in update panel not successfully adding cssclass after panel refresh我也试过Running Javascript after update panel refresh,但这也不起作用..

看起来好像事件绑定丢失了。如何在更新面板更新后让我的脚本运行以重新添加输入掩码?

script type="text/javascript">
    jQuery(function ($) {
        $("#Curr_Mileage").mask("9?99999");
        $("#Litres").mask("99.9");
        $("#ordno").mask("aa99999");
        $("#litre2").mask("99.9");
    });
</script>      

4 个答案:

答案 0 :(得分:2)

您需要创建PageRequestManager的obj并在更新面板更新后调用您的jquery 并确保此脚本块应位于更新面板外

<script>
    var prm = Sys.WebForms.PageRequestManager.getInstance();
    prm.add_pageLoaded(pageLoaded);



    function pageLoaded() {

        jQuery(function ($) {
            $("#Curr_Mileage").mask("9?99999");
            $("#Litres").mask("99.9");
            $("#ordno").mask("aa99999");
            $("#litre2").mask("99.9");
        });

    }

</script>

答案 1 :(得分:1)

         Sys.WebForms.PageRequestManager.getInstance().add_endRequest(myFunc);

    function myFunc () {
jQuery(function ($) {
    $("#Curr_Mileage").mask("9?99999");
    $("#Litres").mask("99.9");
    $("#ordno").mask("aa99999");
    $("#litre2").mask("99.9");
});

}

答案 2 :(得分:1)

试试这个

<script> 
   function pageLoad(){ 
       jQuery(function ($) {
        $("#Curr_Mileage").mask("9?99999");
        $("#Litres").mask("99.9");
        $("#ordno").mask("aa99999");
        $("#litre2").mask("99.9");
    });
 }  
</script>

答案 3 :(得分:0)

此链接可能会对您有所帮助。

在浏览器中管理服务器UpdatePanel控件的部分页面更新。

http://msdn.microsoft.com/en-us/library/vstudio/bb311028(v=vs.100).aspx