【发布时间】:2012-12-27 07:17:18
【问题描述】:
我有一个包含三个新闻框的视图:NewsOfTheDay、NewsOfTheWeek、NewsOfTheMonth。 在我的模型中,我具有相同的三个属性。 现在我的代码如下所示:
@{var news=Model.NewsOfTheDay;}
<div class="newsbox">
<h2>@(news.Title)</h2>
<p>@(news.Text)</p>
<div>
<!--other html code-->
@{var news=Model.NewsOfTheWeek;}
<div class="newsbox">
<h2>@(news.Title)</h2>
<p>@(news.Text)</p>
<div>
所以,如您所见,我在这里重复 html 代码,有更多重复,为了清楚起见已将其删除。现在,我可以使用部分视图 (Html.Action) 做一些魔术,但我必须拆分我的模型。
有没有类似的东西:@RenderBox("NewsItem",Model.NewsOfTheWeek)
【问题讨论】:
-
不是 MVC 开发人员,但你为什么不把局部视图渲染 3 次,然后将
NewsOfTheWeek的任何类型作为模型类型? -
我可以,正如我所说的,但是我需要对每种新闻类型进行单独的查询,而且我必须(更喜欢)一次调用。
标签: asp.net-mvc-4 code-duplication