Comment puis-je afficher le code html dans le message de validation en ASP.NET MVC?

Je suis en train de développer une page d'inscription. Lorsque l'utilisateur existe déjà, je tiens à fournir une connexion et de réinitialiser le mot de passe des liens par l'utilisateur dans le message d'erreur pour le champ e-mail. Dans le contrôleur, j'ai:

[HttpPost]
public ActionResult Register(RegistrationModel registration)
{
  ...

  if(userExists)
  {
      const string errorMessage = "User already exist. You can <a href="/account/login">login</a> ...";
      ModelState.AddModelError("Email", errorMessage);
      return View("Register", registration);
  }
}

Mais quand j'essaie de sortie de ce message en vue je ne reçois pas ce que j'attends. Je reçois des balises html comme du simple texte. J'ai déjà essayé:

@using(Html.BeginForm())
{
<div>@Html.TextBoxFor(m => m.Email)            
@{
   @Html.ValidationMessageFor(m => m.Email)

   ...

   @Html.Raw(Html.ValidationMessageFor(m => m.Email))

   ...

   string validationMessage = Html.ValidationMessageFor(m => m.Email).ToString();
   @Html.Raw(validationMessage)

   ...

   string validationMessage = Html.ValidationMessageFor(m => m.Email).ToHtmlString();
   @Html.Raw(validationMessage)

   ...

   string validationMessage = Html.ValidationMessageFor(m => m.Email).ToString();
   @(new HtmlString(validationMessage))

   ...

   string validationMessage = Html.ValidationMessageFor(m => m.Email).ToHtmlString();
   @(new HtmlString(validationMessage))

   ...

   string validationMessage = Html.ValidationMessageFor(m => m.Email).ToString();
   @(new MvcHtmlString(validationMessage))

   ...

   string validationMessage = Html.ValidationMessageFor(m => m.Email).ToHtmlString();
   @(new MvcHtmlString(validationMessage))

}
</div>
}
  • Essayez @(new HtmlString(mystring))
  • essayé... Se mes modifications... le même résultat...
InformationsquelleAutor Dmytro | 2013-02-21