Tôi hiện đang phát triển một trang đăng ký. Khi người dùng đã tồn tại, tôi muốn cung cấp các liên kết mật khẩu đăng nhập và đặt lại cho người dùng trong thông báo lỗi cho trường email. Trong bộ điều khiển tôi có:Làm cách nào để hiển thị html trong thông báo xác thực trong ASP.NET MVC?
[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);
}
}
Nhưng khi tôi cố gắng đưa ra thông báo này, tôi không hiểu những gì tôi mong đợi. Tôi nhận được đánh dấu html như văn bản thuần túy. Tôi đã cố gắng:
@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>
}
Thử '@ (new HtmlString (mystring))' – jwillmer
@jwillmer, đã thử ... Se chỉnh sửa của tôi ... cùng một kết quả ... – Dmytro