J'ai le code pour empêcher la publication, mais a échoué. Fondamentalement, j'ai un bouton asp.net.Pour empêcher la publication a échoué: isValid = "undefined"
<asp:Button ID="btnSave" runat="server" Text="SaveChanges" OnClick="btnSave_Click"
CssClass="saveButton" ValidationGroup="answer" OnClientClick="return ValidateUserNameBeforeSubmitting();" />
Et le service Web d'appel ajax.
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;
}
Le service Web retournera une valeur booléenne et ce sera le cas lorsque j'interviendrai dans le code. Cependant, quand je suis entré dans le code javascript, j'ai trouvé que "isValid" n'est pas une valeur booléenne. C'est "indéfini". Pourquoi?
Merci.
Essayez d'ajouter d'alerte dans la fonction de la réussite et vérifier si la valeur bool est retournée . – Ravia
Cela a probablement quelque chose à voir avec votre code-behind. La valeur de retour de 'UserNameWebService.asmx/ValidateUserName' peut ne pas être ce que vous voulez qu'il soit. Pouvez-vous poster ce que cette fonction est en train de faire? – DangerMonkey