Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在ASP.NET AJAX函数中添加自己的javascript函数?_Javascript_Asp.net_Ajax - Fatal编程技术网

在ASP.NET AJAX函数中添加自己的javascript函数?

在ASP.NET AJAX函数中添加自己的javascript函数?,javascript,asp.net,ajax,Javascript,Asp.net,Ajax,在我正在构建的页面上,有四个按钮显示/隐藏(visible=“true”| visible=“false”)某些div。我想要的是在调用AJAX函数之前,调用我自己的自定义函数,将当前可见div的不透明度设置为零,然后显示加载图像,最后在AJAX函数完成后,调用另一个自定义函数,将“待显示”div从零不透明度设置为1,并从左到右设置动画。我想在网页上实现的是WindowsPhone7的那种效果。那么,有什么办法可以做到这一点吗?如果您使用的是Asp.net ajax,那么您可以通过以下步骤来实现

在我正在构建的页面上,有四个按钮显示/隐藏(visible=“true”| visible=“false”)某些div。我想要的是在调用AJAX函数之前,调用我自己的自定义函数,将当前可见div的不透明度设置为零,然后显示加载图像,最后在AJAX函数完成后,调用另一个自定义函数,将“待显示”div从零不透明度设置为1,并从左到右设置动画。我想在网页上实现的是WindowsPhone7的那种效果。那么,有什么办法可以做到这一点吗?

如果您使用的是Asp.net ajax,那么您可以通过以下步骤来实现这一点

用这些语句注册javascript方法

    Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(beginRequestHandle);
    Sys.WebForms.PageRequestManager.getInstance().add_endRequest(endRequestHandle);
注册方法的定义

    function beginRequestHandle(sender, Args)
    {
        alert("Begin Request Handle called.");
    }

    function endRequestHandle(sender, Args)
    {
      alert("End Request Handle called.");
    }

可以通过在代码中编写自定义ajax处理程序来实现这一点。例如,在cs文件中:

[WebMethod]
public static bool CustomAjaxMethod(string arg)
{
  // do work
  return true;
}
然后,在您的aspx文件中:

<input type="button" value="Do Ajax Call" onclick="doWork();" />

哪里是注册方法的最佳地点?页面加载?可以在标题标签中,也可以在正文标签关闭之前。在您提出ajax请求之前,您只需将它们放在可用的位置。您是否已在项目中安装并集成了asp.net ajax工具包?是的!开始工作了,谢谢你,阿迪尔!
function doWork() {
  // do your 1st animation here
  PageMethods.CustomAjaxMethod('foo', callback);
}

function callback(result, userContext, methodName) {
  if (methodName == 'CustomAjaxMethod') {
    // may want to check result here
    // do your 2nd animation here 
  }
}