PageMethods は、MasterPage メソッドではなく、aspx ページで使用されます。唯一の回避策は、別の .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
}
});
さらに説明が必要な場合はお知らせください。良い一日をお過ごしください:)