【问题标题】:Run Javascript after C# Update panel Refresh在 C# 更新面板刷新后运行 Javascript
【发布时间】:2014-06-12 07:09:50
【问题描述】:

我正在使用屏蔽输入插件来控制字段的输入 (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>      

【问题讨论】:

  • 这些控件都在更新面板里面吗?
  • 是的,所有控件都在更新面板中。我放在头部的脚本
  • SID M.. 谢谢...这已修复
  • 所以我应该把它作为答案发布吗?

标签: c# javascript jquery asp.net updatepanel


【解决方案1】:

您需要创建 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>

【讨论】:

  • 谢谢,我试过了,但不开心。即使使用上述方法首次加载页面,掩码也不适用
  • 简单的页面加载功能效果很好.. 谢谢大家.. script type="text/javascript"> function pageLoad() { jQuery(function ($) { $("#Curr_Mileage").mask( "9?99999"); $("#Litres").mask("99.9"); $("#ordno").mask("aa99999"); $("#litre2").mask("99.9" ); }); }
【解决方案2】:

试试这个

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

【讨论】:

    【解决方案3】:
             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");
    });
    

    }

    【讨论】:

    • 谢谢,我试过了,但和下面一样。即使使用上述方法首次加载页面,掩码也不适用
    【解决方案4】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-14
      • 2011-11-01
      • 2012-07-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-17
      相关资源
      最近更新 更多