PageMethods を学習しようとしているときに、奇妙な問題に遭遇しました。
プログラムを実行すると、プログラムはエラー関数に入ります。Chrome デベロッパー ツールに次のエラーが表示されます。
GET http://localhost:62316/Advertising/WebForm1.aspx/GetCurrentDate ScriptResource.axd:4844
ここに私のaspコードがあります:
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type ="text/javascript" src="../Includes/jquery-1.4.2.js"></script>
<script type ="text/javascript">
function call() {
PageMethods.GetCurrentDate(success, fail);
return false;
}
function success(msg) {
alert("Success "+msg);
}
function fail(xhr, status) {
alert("Fail "+xhr.responseText+" "+status);
}
</script>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="Manager" runat="server" EnablePageMethods="true"></asp:ScriptManager>
<asp:Button ID="test" Text="Get Text" runat="server" OnClientClick="javascript: return call();" />
</form>
</body>
</html>
C# コードは次のとおりです。
[WebMethod]
[ScriptMethod(UseHttpGet = true)]
public static string GetCurrentDate()
{
return "foo";
}
エラー ボックスに表示されるオブジェクトは、それぞれ未定義および null です。さらに、関数内にブレークポイントがある場合、関数は決してステップインされないと結論付けられています。私は何を間違っていますか?