ポストバックを防ぐコードがありますが、失敗しました。基本的に私はasp.netボタンを持っています。
<asp:Button ID="btnSave" runat="server" Text="SaveChanges" OnClick="btnSave_Click"
CssClass="saveButton" ValidationGroup="answer" OnClientClick="return ValidateUserNameBeforeSubmitting();" />
そして ajax 呼び出し Web サービス。
function ValidateUserName() {
$.ajax({ type: "POST",
url: "../UserNameWebService.asmx/ValidateUserName",
data: "{'strUsername': '" +JSON.stringify( $("#<%=TextUserName.ClientID%>").val()) + "'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
async: false,
success: function (data) {
return data.d;
},
error: function (xhr, ajaxOptions, thrownError) {
alert(xhr.status);
alert(thrownError);
}
});
}
function ValidateUserNameBeforeSubmitting() {
var isValid = ValidateUserName();
return isValid;
}
Web サービスはブール値を返し、コードにステップインするとそれが返されます。しかし、JavaScript コードに足を踏み入れると、「isValid」がブール値ではないことがわかりました。「未定」です。なんで?
ありがとう。