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