MVC3模型代码中的Html文字

Pro*_*ofK 2 asp.net-mvc asp.net-mvc-3

我有一个RegisterModel视图模型,用于我的新帐户注册页面.根据注册任务的状态,模型具有要为用户显示的相关文本消息,例如"等待电子邮件确认"等.

我目前以下面的方式填充此字符串属性,但不禁想知道混合标记和内容,就像我对<p>标记一样.除了使用实际HTML文字而不是模型属性的多个部分视图之外,还有更好或更可接受的方法吗?

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);
Run Code Online (Sandbox Code Playgroud)

编辑: 我刚刚注意到<p>标签正在逐字呈现,但我怀疑这个问题属于同一个问题.

Dar*_*rov 5

您可以在视图模型和视图中使用status属性:

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

如果你想在Razor中渲染HTML文字而不编码它们:

@Html.Raw(Model.RegisterMessage)
Run Code Online (Sandbox Code Playgroud)

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