C# 调用页面';在不同的页面上使用javascript的webmethod
是否可以从不同页面上的javascript调用具有[WebMethod]属性的方法?即,在名为PageTwo.aspx的页面上使用以下来自脚本的jquery ajax调用:C# 调用页面';在不同的页面上使用javascript的webmethod,c#,asp.net,ajax,webmethod,C#,Asp.net,Ajax,Webmethod,是否可以从不同页面上的javascript调用具有[WebMethod]属性的方法?即,在名为PageTwo.aspx的页面上使用以下来自脚本的jquery ajax调用: $.ajax( { type: "POST", url: "pageone.aspx/PageOneMethodOne", data: "{}", contentType: "application/jso
$.ajax(
{
type: "POST",
url: "pageone.aspx/PageOneMethodOne",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg)
{
//something
}
}
);
PageOne.aspx.cs包含
[WebMethod]
public string PageOneMethodOne()
{
return "hello world";
}
这是可能的,只要您指定正确的URL。请查看以下表格:
<form id="form1" runat="server">
<div>
<div id="messages">
</div>
<input type="text" id="echo" /><input id="echoSubmit" value="Echo!" type="button"/>
</div>
Chat.aspx中的单击处理程序将输入值发送到SampleForm.aspx.cs,后者返回发送的值。返回的值被附加到.ajax调用的成功方法Chat.aspx中的div中。我认为\n只要指定正确的指向itthanks@njebert的url,您可以告诉我,页面上的方法必须是静态的吗?您可以使用.asmx而不是代码隐藏来调用非静态方法-
<script type="text/javascript">
$(function () {
$('#echoSubmit').click(function () {
var mes = $('#echo').val();
var jsonText = JSON.stringify({ message: mes });
$.ajax({
type: "POST",
url: "SampleForm.aspx/SendMessage",
data: jsonText,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
$("#messages").append(msg.d);
}
});
});
});
</script>
public partial class SampleForm : System.Web.UI.Page
{
[WebMethod]
public static string SendMessage(string message)
{
return message;
}
}