从 JavaScript 访问 ASMX Web 服务
我制作了一个名为WebService的Web服务,其中GetTest、SetTest函数用于设置和获取GUID。现在我想在 .aspx 文件中的 javascript 中使用这个函数。 我如何在 javascript 中使用这个函数。我将 Web 服务代码放在下面:-
[WebMethod]
public void SetTest(Guid id, string text)
{
this.Application.Add(id.ToString(), text);
}
[WebMethod]
public string GetTest(Guid id)
{
return this.Application[id.ToString()].ToString();
}
[WebMethod]
public Guid CreateNew()
{
return Guid.NewGuid();
}
[WebMethod]
public string HelloWorld() {
return "Hello World";
}
和 .ASPX 代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="UsingWebService.aspx.cs" Inherits="UsingWebService" %>
<!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>Using Web Service</title>
<script type="text/javascript" language="javascript">
debugger;
var txtGetTestID = '<%= this.txtGetTest.ClientID %>';
var txtSetTestID = '<%= this.txtSetTest.ClientID %>';
var _guid = null;
function GetNew()
{
//WebService.CreateNew(GetNewDone,OnError,null);
GetNewDone(WebService.CreateNew());
}
function GetNewDone(result)
{
_guid = result;
}
function SetTest()
{
WebService.SetTest(_guid,$get(txtSetTestID).value);
}
function GetTest()
{
//WebService.GetTest(_guid,GetTestDone,OnError ,null);
GetTestDone(WebService.GetTest(_guid));
}
function GetTestDone(result)
{
$get(txtGetTestID).value = result;
}
function OnError(ex)
{
alert('Error: '+ex._message);
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label ID="lblInput" Text="Input String" runat="server"></asp:Label>
<asp:TextBox ID="txtInput" runat="server"></asp:TextBox>
<br />
<asp:Label ID="lblResult" runat="server"></asp:Label>
<br />
<br />
<asp:Button ID="btnInvoke" Text="Invoke" runat="server"
onclick="btnInvoke_Click" />
</div>
<table>
<tr>
<td>
</td>
<td>
<asp:Button id="btnNew" runat="server" Text="New" OnClientClick="GetNew(); return false;" />
</td>
</tr>
<tr>
<td>
<asp:TextBox ID="txtSetTest" runat="server" />
</td>
<td>
<asp:Button ID="btnSetTest" runat="server" Text="Set" OnClientClick="SetTest(); return false;" />
</td>
</tr>
<tr>
<td>
<asp:TextBox ID="txtGetTest" runat="server" />
</td>
<td>
<asp:Button ID="btnGet" runat="server" Text="Get" OnClientClick="GetTest(); return false;" />
</td>
</tr>
</table>
</form>
</body>
</html>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
为了能够从 javascript 调用 WebService,您必须首先添加 [ScriptMethod] 注释,例如
要调用 Web 服务,您必须将其包含到 ScriptManager 中。
现在你需要像下面这样调用webservice
:
你也可以使用jQuery来调用webservice。看看这个
HTH
To able to call WebService from javascript you must first add the [ScriptMethod] Annotation like
To Call the webservice you must include it into an ScriptManager.
Now You need to call webservice as follows
for you it will be like:
you can also use jQuery to call webservice. Look at this
HTH
首先,您需要将 [ScriptMethod] 属性添加到您的 Web 服务方法中。然后使用 ASPX 页面上的 ScriptManager 控件注册您的 Web 服务:
然后您可以从 Javascript 调用 GetTest() SetTest() 等。
希望有帮助!
First you need to add [ScriptMethod] attributes to your Web Service methods. Then using the ScriptManager control on your ASPX page, register your web service:
You can then call GetTest() SetTest() etc from your Javascript.
Hope that helps!