【发布时间】:2013-04-30 21:14:42
【问题描述】:
您好,我想有个简单的问题,
我有一个类似的cshtml:
<div id="box">
@if (model.View == "item1")
{
<div id="item1">
...
</div>
}
else
{
<div id="item2">
...
</div>
}
<div id="itemDescription">
...
</div>
</div>
我通过模型传递参数以根据参数显示一些内容,因为在两种情况下文档的其余部分都是相同的。
还有其他更好的方法来实现这一点吗?
谢谢!
【问题讨论】:
-
如果
item1和item2中的内容过多,那么您最好将它们放在部分视图上。此外,您可以创建一个 html 帮助器并让它决定显示哪个视图并构建/调用该视图。 -
您确定要这样做吗?也许它正在工作,但它有点糟糕;p 添加任何东西都会非常痛苦。
-
是的,我为每个 div 做了一个局部视图,这只是一个简单的例子。如果我创建一个 HtmlHelper,我认为我也必须向它传递一个参数,那么它会比我采用的解决方案有一些优势吗?
-
@gonzalomelov 即使有了它,你也可能会遇到太多逻辑进入视图的情况,如果你也将它与控制器中的逻辑混合,它会很痛苦;->
标签: c# asp.net-mvc asp.net-mvc-4 razor