Question

J'ai un tas de zones de texte et un bouton Enregistrer pour mettre à jour quelque chose. Lorsque je clique sur Enregistrer, j'ai un code qui détermine si elles sont correctement remplies, dans le code derrière le fichier.

S'ils ne sont pas correctement renseignés, je souhaite afficher un message d'erreur sous la forme d'une alerte.

Quelle est la meilleure façon de faire cela? Le bouton rend évidemment la publication postérieure, alors j'ai pensé ajouter quelque chose à l'URL comme mypage.aspx? Errormessage = blahblah mais je ne sais pas si c'est la meilleure façon ni même comment faire ça ...

Des suggestions?

Était-ce utile?

La solution

Les alertes modales sont mauvaises, tout comme les publications. Essayez de vérifier autant que possible du côté client sans aller-retour vers le serveur. Consultez les plug-ins Validation jQuery pour une validation moins intrusive.

Autres conseils

Pourriez-vous utiliser un CustomValidator pour déclencher un script côté client qui affiche une boîte d’alerte?

Vous pouvez utiliser la méthode ClientScript.RegisterStartupScript () dans le code de traitement des erreurs côté serveur pour écrire un extrait de code javascript qui appelle alert ('message'), un résultat similaire à celui-ci

private void ShowErrorMessage(string message)
{
    string script = "alert('" + message + "');";
    ClientScript.RegisterStartupScript(typeof(MyPage), "errorScript", script, true);
}

Mais je vous recommanderais d'utiliser un validateur à la place. Si vous implémentez votre propre validateur personnalisé, vous pouvez lui faire émettre un script côté client pouvant s'exécuter avant la soumission, afin d'éviter toute publication.

Une bonne chose à propos des validateurs est que leurs messages d'erreur peuvent être affichés dans un ValidatorSummary sur la page, en évitant la boîte d'alerte laide.

Tout d'abord, je ne recommanderai pas l'affichage d'un message d'alerte modale à l'utilisateur.

Vous pouvez appeler une fonction javascript à partir du code côté serveur et dans cette fonction vous pouvez afficher l'erreur.

Vous pouvez également envoyer une demande AJAX et, après la validation côté serveur, vous pouvez renvoyer une réponse au client.

Les divers contrôles de validation ASP.NET (avec la validation côté client activée), associés à des messages d'erreur et / ou un message récapitulatif appropriés, suffiront dans la plupart des scénarios.

Pour "le comportement et le comportement AJAX", placer les contrôles dans un panneau de mise à jour sera facile à implémenter également.

Utilisez vos anciens valideurs autant que possible, ils fournissent du code javascript au client afin que vous puissiez effectuer beaucoup de validation à l'aide de ces contrôles et ce n'est que lorsqu'ils sont tous satisfaits que la page peut être soumise.

Ils se déclenchent à chaque soumission. Par conséquent, si vous ne souhaitez pas que chaque action de soumission les déclenche, vous intégrez les contrôles à un groupe de validation.

Ils peuvent valider les entrées à l'aide d'expressions régulières, s'assurer qu'un champ a une valeur et qu'il y en a quelques autres.

Ensuite, il existe une propriété pour déclarer un "message" et un contrôle pour afficher tous les messages du validateur. Tous très swish et construit directement dans l'IDE.

Allez vérifier les contrôles du validateur.

Essayez le code suivant dans votre événement de clic de bouton:

string strErr="Error!";//Put your error message here
ClientScript.RegisterStartupScript(GetType(), "scrptName", "javascript: alert('"+strErr+"'); ", true);

Il affichera un message d’alerte.

Sinon, mettez une étiquette sur votre page aspx et définissez visible sur false dans l'événement page_load. En cas d'erreur dans votre événement de bouton, définissez la visibilité de l'étiquette sur "true" et remplissez le texte de l'étiquette avec le message d'erreur.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top