我正在 ASP.NET 4.0 中创建一个 MVC 4 应用程序。在我看来,我正在显示模型的属性;特别是一个属性可能需要与工具提示超链接,具体取决于模型中的另一个属性。
通过在 View 中显示代码更容易解释:
@if (Model.HasMultipleErrorReasons)
{
<td data-toggle="tooltip" title="@Model.AllErrors"><a href="#">Multiple</a></td>
}
else
{
<td>@Model.Error</td>
}
我知道这没有任何问题而且它可以正常工作,但我宁愿不必写出 <td></td>
两次;上面的示例非常精简,实际上它更加困惑。
有没有办法避免这种情况或有更好的方法来做到这一点?
最佳答案
这就是使用模板化渲染引擎时的游戏中断。您可以使用局部 View 或 HtmlHelper
扩展以某种方式抽象代码,这样您就不必看到它。但是,使用分部 View 会产生轻微但并非微不足道的性能成本,因此如果您最终在同一页面上呈现大量不同的分部 View 来处理多个类似这样的事情,您会感觉到这一点。这对于扩展来说也可能是矫枉过正。不过,如果您可以将代码简化到足以适用于广泛用途的程度,则可能需要创建扩展方法。
总的来说,我会说保持原样。
关于c# - 根据另一个属性在 View 中显示模型属性的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29123874/