ASP.NET AJAX ScriptManager调用WebService
ScriptManager是一个ASP.NET AJAX中的核心控件。它为ASP.NET AJAX开发的带了很多的便利,它是我们做ASP.NET AJAX的程序不可缺少的控件,它的作用非比寻常,我们来看看他是如何调用WebService的!
首先建立一个MyWebService.asmx文件。(一定注意看中文注释)
以下为MyWebService.cs代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
/// <summary>
/// Summary description for MyWebService
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
//下面这行属性是用ScriptManager调用WebService的必要属性。
[System.Web.Script.Services.ScriptService]
public class MyWebService : System.Web.Services.WebService
{
public MyWebService()
{
//Uncomment the following line if using designed components
//InitializeComponent();
}
[WebMethod]
public int GetTotal(int x, int y)
{
return x + y;
}
}
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
/// <summary>
/// Summary description for MyWebService
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
//下面这行属性是用ScriptManager调用WebService的必要属性。
[System.Web.Script.Services.ScriptService]
public class MyWebService : System.Web.Services.WebService
{
public MyWebService()
{
//Uncomment the following line if using designed components
//InitializeComponent();
}
[WebMethod]
public int GetTotal(int x, int y)
{
return x + y;
}
}
在Default.aspx页面中添加ScriptManager控件并引用WebService
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="ScriptWebSerivce.aspx.cs" Inherits="ScriptWebSerivce" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type="text/javascript">
function ShowResult(res) {
alert(res);}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server">
<Services>
<asp:ServiceReference Path="MyWebService.asmx" />
</Services>
</asp:ScriptManager>
<script type="text/javascript">
MyWebService.GetTotal(5, 4, ShowResult, null, "abc");
</script>
</div>
</form>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type="text/javascript">
function ShowResult(res) {
alert(res);}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server">
<Services>
<asp:ServiceReference Path="MyWebService.asmx" />
</Services>
</asp:ScriptManager>
<script type="text/javascript">
MyWebService.GetTotal(5, 4, ShowResult, null, "abc");
</script>
</div>
</form>
</body>
</html>
但我们在ScriptManager中引用了WebService就可以在JS脚本里面调用WebService了。
GetTotal是在WebService中对应的WebService方法,但在这里它多了3个参数。
GetTotal(number x,number y,onSuccess,onError,userContent);
大家看看这个参数名就应该知道是什么意思了吧!!
其实用ScriptManager调用WebService很简单的!
有任何问题可以给我留言!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异