javascript - 如何删除 ASP.NET 中 UpdatePanel 刷新时重复的 JavaScript 代码?

标签 javascript asp.net refresh updatepanel dopostback

如果不处理,Javascript 代码在 Updatepanel 刷新后将无法工作。有几种方法可以处理此案。我更喜欢其中一个具有如下实现的功能;

<script language="javascript" type="text/javascript">

 **Javascript code...**

 var prm = Sys.WebForms.PageRequestManager.getInstance();
 if (prm != null) {
  prm.add_endRequest(function (sender, e) {
   if (sender._postBackSettings.panelsToUpdate != null) {

     **Duplicated Javascript code, same as above**

   }
  });
 }
</script>

但是,我不想编写相同的 JavaScript 代码两次。那么,我该如何解决这个问题呢?

更新:我不想调用该部分中的函数。如何在节中定位函数而不重复?

最佳答案

将代码放入函数中,然后从两个地方调用该函数。

// The first call
doSomething();

var prm = Sys.WebForms.PageRequestManager.getInstance();
if (prm != null) {
    prm.add_endRequest(function (sender, e) {
    if (sender._postBackSettings.panelsToUpdate != null) {

        // The second call
        doSomething();
    }
}

function doSomething() {
    // Code goes here
}

如果函数需要来自调用它的地方的信息,请定义函数的参数(function doSomething(param1, param2) 等)并在调用它时传递参数( >doSomething("我是第一个","我是第二个"),等等)。

关于javascript - 如何删除 ASP.NET 中 UpdatePanel 刷新时重复的 JavaScript 代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41096292/

相关文章:

asp.net - 来自 ASP 控件的客户端 javascript 调用抛出 "Too many characters in character literal"错误!

删除记录后 Angular 刷新表,使用 Material 表和rest api

php - 如何在不重新加载的情况下刷新 PHP 页面

JavaScript:如果没有选择任何单选按钮,如何分配默认值

javascript - 基于计数器值的 Css3 div 渐变背景动画?

javascript - 如何在 HTML5 Canvas 中绘制一条触摸直线

python - 运行代码时更新 kivy 小部件的属性

javascript - 使用Youtube API找到刚刚播放完的Youtube iframe的父div

javascript - 脚本访问内联 JavaScript 变量

c# - 将自定义 CSS 应用于 ASP.NET 中的 Crystal Reports