我是否可以调用asp.net网页(在aspx.cs页面中)的方法而不在页面加载中检查它?
例如'../ test2.aspx / TestMethod
在this link我注意到我们可以在jquery ajax方法中给出url:“PageName.aspx / MethodName”。我已经尝试过,从不为我工作。
答案 0 :(得分:3)
页面方法是ASP.Net应用程序中的一种新机制,其中服务器代码cab绑定到Asp.Net页面
要启用Page方法,我们需要将ScriptManager控件拖到页面并标记
EnablePageMethods为“True”。
<asp:ScriptManager ID="ScriptManager1" runat="server"
EnablePageMethods="True">
</asp:ScriptManager>
转到页面背后的代码并添加静态方法
[WebMethod]
public static string HelloWorld(string name)
{
return string.Format("Hi {0}",name);
}
在javascript函数中,我们可以使用PageMethods对象来调用页面的WebMethod。
<script type="text/javascript">
function GreetingsFromServer() {
var name = 'Jalpesh';
PageMethods.HelloWorld(name,OnSuccess, OnError);
return false;
}
function OnSuccess(response) {
alert(response);
}
function OnError(error) {
alert(error);
}
</script>
答案 1 :(得分:2)
你可以使用ajax调用另一个页面webmethod
$(document).ready(function() {
// Add the page method call as an onclick handler for the div.
$("#Result").click(function() {
$.ajax({
type: "POST",
url: "Default.aspx/GetDate",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg) {
// Replace the div's content with the page method's return.
$("#Result").text(msg.d);
}
});
});
});