gpt4 book ai didi

c# - 如何在 ASP.NET MVC 中呈现验证消息中的 html?

转载 作者:IT王子 更新时间:2023-10-29 04:23:37 24 4
gpt4 key购买 nike

我目前正在开发一个注册页面。当用户已经存在时,我想在电子邮件字段的错误消息中为用户提供登录和重置密码链接。在 Controller 中我有:

[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);
}
}

但是当我尝试在 View 中输出此消息时,我没有得到我期望的结果。我得到像纯文本一样的 html 标记。 我已经尝试过:

@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>
}

最佳答案

@Html.Raw(HttpUtility.HtmlDecode(Html.ValidationMessageFor(m => m.Email).ToHtmlString()))

虽然不漂亮

关于c# - 如何在 ASP.NET MVC 中呈现验证消息中的 html?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14999130/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com