PageMethods 将在 aspx pages 中使用,而不是在 MasterPage Methods 中使用。唯一的解决方法是创建一个单独的 .asmx WebService 并将您的逻辑添加到静态函数中。为此,请在 VS 上右键单击您的解决方案,然后单击添加新项目,选择 WebService.asmx。在 WebService 后面的代码中写一个静态的 webMethod
[WebMethod]// press alt+shift+f10 after selecting the WebMethod wording to include the library
public static bool CheckLogin (string username, string password){
//Type your method here
return result;//Result should be Boolean
}
现在在您的 masterPage.master 客户端脚本单击链接事件上,将 Ajax 请求发布到 web 服务
$.ajax({
type: "POST",
url: "YourWebServiceName.asmx/CheckLogin",
data: '{"Username":"' + $('#username').val() + '","password":"' +
$('#password').val() + '"}',
dataType: "json",
contentType: "application/json; charset=utf-8",
success: function(message) {
alert(message);//will alert 'true'
//DO what you want to do on client side
},
error: function() {
alert(message);//will alert 'false'
//DO what you want to do on client side
}
});
如果您需要任何进一步的说明,请告诉我祝您有美好的一天:)