ボタンが押されたときに実行されるjQuery関数に次のステートメントがあります。アラートで「dateAndTime」の値をすぐに表示するため、期待どおりに動作します。
$("#Button1").click(function (evt) { // automatically bind the click event
evt.preventDefault();
var loc = window.location.href;
$.ajax({
type: 'POST',
url: loc + "/GetDate",
data: "{}",
contentType: "application/json; charset=utf-8",
success: function (msg) {
$("#Label1").text(msg.d);
$("#Label1").data("dateAndTime", msg.d);
alert("the date and time is " + $("#Label1").data("dateAndTime"));
}
});
});
aspx からのボタン:
<asp:Button ID="Button3" runat="server" Text="Button" OnClick="Button3_Click" />
Button3_Click は空のメソッドです。
ブラウザ ウィンドウが開いている限り、この値が使用可能であることは理解しています。呼び出された関数が終了してページが読み込まれた後、ポストバックを引き起こすボタンを押します。同じ .js ファイルの「ready」関数に次のステートメントがあります。
alert("the new date and time is " + $("#Label1").data("dateAndTime"));
最初に保存された値が表示されると思いますが、代わりに「未定義」と表示されます。期待どおりに取得する必要がありますか、それとも .data を理解していませんか?