Pau*_*les 5 asp.net-mvc asp.net-mvc-3
我有一个大视图,需要一些条件逻辑来决定在视图中间呈现几个html块中的哪一个.我的模型上有一个属性,它可以有几个不同的值来决定要输出的html.
我通常会将条件逻辑放在一个html帮助器中,但鉴于每个输出都是一大块html,我不确定在ac#文件中转义它们会很棒.我也可以将逻辑放在动作中并呈现不同的视图,但鉴于大多数视图都是相同的,这似乎也不是很好.所以我在我的视图(或部分?)中留下了多个if语句,这看起来也很丑陋(显然是不可测试的).
这样做的最佳方式是什么?
(我正在使用MVC3以防万一我可以使用新的和时髦的东西!)
我通常将单独的视觉块放在它们自己的部分中。然后我的视图有条件地使用 Html.Partial 调用每个部分。这可以防止主视图膨胀。
一般来说,我会尽量避免包含多个元素的 Html.Helpers。
就像是:
@if(Model.HasA)
{
@Html.Partial("widgetdetails-hasa")
}
@if(Model.HasB)
{
@Html.Partial("widgetdetails-hasb")
}
// etc
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3758 次 |
| 最近记录: |