我有一个用于新帐户注册页面的 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/