根据另一个属性在视图中显示模型属性的最佳实践

时间:2015-03-18 13:49:42

标签: c# html asp.net .net asp.net-mvc

我在ASP.NET 4.0中创建了一个MVC 4应用程序。在我的视图中,我正在显示模型的属性;特别是一个属性可能需要是带有工具提示的超链接,具体取决于模型中的另一个属性。

通过在视图中显示代码来解释更容易:

@if (Model.HasMultipleErrorReasons)
{
   <td data-toggle="tooltip" title="@Model.AllErrors"><a href="#">Multiple</a></td>
}
else
{
   <td>@Model.Error</td>
}

我知道这没有任何问题,而且功能正常,但我宁愿不必写出<td></td>两次;上面的例子非常简单,实际上它更加混乱。

有没有办法避免这种情况或更好的方法呢?

1 个答案:

答案 0 :(得分:0)

使用模板化渲染引擎时,这种游戏的中断。您可以通过某种方式抽象代码,这样您就不必使用部分视图或HtmlHelper扩展名来查看代码。但是,使用部分视图会有轻微但并非无关紧要的性能成本,因此如果您最终在同一页面上呈现大量不同的部分视图来处理多个这样的事情,那么您会感受到它。对于扩展来说,这也可能有点过分。虽然,如果您可以将代码煮沸到足以适用于广泛的用途,则可能需要创建扩展方法。

总的来说,我会说保持它就像你拥有它一样。