asp.net-mvc - MVC3模型代码中的Html文字

标签 asp.net-mvc asp.net-mvc-3

我有一个用于新帐户注册页面的 RegisterModel View 模型。根据注册任务的状态,模型会向用户显示相关的文本消息,例如“等待电子邮件确认”等。

我目前按以下方式填充此字符串属性,但忍不住想知道如何混合标记和内容,就像我对 <p> 所做的那样标签。除了使用实际 HTML 文字而不是模型属性的多个部分 View 之外,还有更好或更容易接受的方法吗?

RegisterMessage = "<p>Please use the form below to create a new account.</p>";
RegisterMessage = string.Format("<p>Passwords are required to be a minimum of {0} characters in length.</p>", _membershipService.MinRequiredPasswordLength);

编辑:我刚刚注意到 <p>标签按字面意思呈现,但我怀疑这个问题属于同一个问题。

最佳答案

您可以在 View 模型和 View 中使用状态属性:

@if (Model.Status == Status.StatusA)
{
    <div>Message 1</div>
} 
else if (Model.Status == Status.StatusB)
{
    <div>Message 2</div>
}

如果您想在 Razor 中渲染 HTML 文字而不对其进行编码:

@Html.Raw(Model.RegisterMessage)

但是您显示的示例似乎是一条验证错误消息,也可以存储在资源文件中。

关于asp.net-mvc - MVC3模型代码中的Html文字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5423397/

相关文章:

javascript - 如何将 javascript 数组传递给 ASP.NET MVC 模型?

c# - 停止需要很长时间的操作使负载均衡器超时

c# - RichTextEditor 不适用于 ASP.NET MVC5 中的多个字段

asp.net - Asp.Net MVC 上的 HttpRequestValidationException

asp.net-mvc - 使用 HTML.BeginForm 时,ReturnUrl 如何存储在 MVC4 Razor 页面中?

c# - Helper 方法中的 <Link> 给出 "Element link cannot be nested within element ' 链接'"

javascript - 长循环的 IE 8-9 JavaScript 问题

c# - 将 json null 发送到 Controller 会导致包含 0 个元素的列表

asp.net-mvc - 一个 View 中具有 MVC 多个模型的 Asp.net(创建、更新)

ASP.Net成员(member)登录问题