【发布时间】:2011-03-03 00:20:36
【问题描述】:
我正在创建一个小视图框架。我并不想严格遵守 MVC,但我绝对不想妨碍 MVC 实践。
无论如何,我的一个问题是:视图创建自己的子视图是否不好?
例如,在伪 C# 代码中:
/*BlogEntryView*/
<h1>my blog entry...</h1>
<div class="Comments">
{# //code
foreach(var comment in Comments){
Write(new CommentView(comment));
}
#}
</div>
对于 MVC 风格来说,这是不好的做法吗?正确的做法是在模型用 CommentViews 填充它的 BlogEntryView 中提供一个“占位符”吗?
(另外,请不要标记 asp.net-mvc,这是类似的,但绝不使用 ASP.Net MVC 技术)
为了比较,与此相反的是,在模型代码中添加带有一些占位符的视图:
/*BlogEntryView*/
<h1>my blog entry...</h1>
<div class="Comments">
{# SomePlaceholder #}
</div>
/*In the model code for BlogEntry*/
//v is a BlogEntryView
foreach(var comment in Comments){
v.PlaceHolder.Add(new CommentView(comment));
}
【问题讨论】: