7
votes

Comment afficher des messages d'erreur de validation sur une page ASP.NET MVC?

Je suis assez nouveau à ASP.NET et C # J'ai passé la journée à apprendre les bases du fournisseur d'adhésion ASP.NET J'ai construit tout mon validateur mais que vous soyez coincé à la sortie de mon message d'erreur sur la page.

private void LogCreateUserError(MembershipCreateStatus status, string username)
{
    string reasonText = status.ToString();

    switch (status)
    {
        case MembershipCreateStatus.DuplicateEmail:
        case MembershipCreateStatus.DuplicateProviderUserKey:
        case MembershipCreateStatus.DuplicateUserName:

            reasonText = "The user details you entered are already registered.";
            break;

        case MembershipCreateStatus.InvalidAnswer:
        case MembershipCreateStatus.InvalidEmail:
        case MembershipCreateStatus.InvalidProviderUserKey:
        case MembershipCreateStatus.InvalidQuestion:
        case MembershipCreateStatus.InvalidUserName:
        case MembershipCreateStatus.InvalidPassword:

            reasonText = string.Format("The {0} provided was invalid.", status.ToString().Substring(7));
            break;
        default:
            reasonText = "Due to an unknown problem, we were not able to register you at this time";
            break;

    }

   //CODE TO WRITE reasonText TO THE HTML PAGE ??

}


4 commentaires

Est-ce que cela utilise ASP.NET MVC ou WebForms? En outre, avez-vous des contrôles spécifiques sur la page que vous souhaitez que le statut soit indiqué?


ASP.NET MVC, je n'ai pas mis de contrôle en place car je suis un peu sûr ce que les contrôles pouvaient écrire à. Serait être approprié? Ou suis-je dérivé dans la mauvaise direction.


Quelle classe cette méthode privée appartient-elle à - le contrôleur? Pourriez-vous publier le code de l'action du contrôleur qui l'appelle?


Ps. Avec ASP.NET MVC, en utilisant quoi que ce soit avec runat = "serveur" dérive complètement dans la mauvaise direction.


3 Réponses :


10
votes

mvc

voir pour un bon exemple ...

asp.net mvc html.validationsummary (true) n'affiche pas les erreurs de modèle

essentiellement, vous devez propager la Erreur message et que ce fait qu'il est une erreur à votre vue à partir de votre contrôleur. ModelStablingSary.addmodelerror () sera Prenez soin de ces deux tâches pour vous.

Vous pouvez ensuite utiliser validationextensions.validationsMary () à afficher.

WebForms

Vous donez t avoir utiliser un validateur pour cela. La plupart des gens ne le font pas. Un simple style div devrait bien fonctionner.

par exemple par exemple. xxx

remarque le paramètre runat

Maintenant, dans votre code-derrière, vous pouvez essayer xxx

si vous souhaitez vraiment utiliser un checkout de validateur ...

http: // weblogs. asp.net/ashicmahtab/archive/2008/12/12/putting-messages-into-a-validationsumary-control-from-code.aspx

Fondamentalement, vous définissez le errorormessage et paramètres isvalid au validateur associé dans le code derrière. Les validationsMary doivent afficher le message d'erreur.


0 commentaires

-1
votes

Si vous utilisez des formes Web, vous pouvez utiliser un contrôle d'étiquettes et définir la propriété '.Text' de celui-ci avec votre résultat. Ou un contrôle du panneau. Ou un UserControl spécifiquement pour la sortie des messages d'erreur (c'est ce que je fais) que vous pouvez ajouter à votre MasterPage.


0 commentaires

0
votes

Vous pouvez utiliser un résumé de validation ou vous pouvez utiliser une commande d'étiquette pour afficher le message d'erreur


0 commentaires