2011-10-08 77 views
2

可重复使用的内容部分我有HTML以下块显示的东西,比如评论:创建在MVC

<div class="comment"> 
... 
</div> 

而这个HTML块使用注释对象来显示数据。

我正在使用剃刀。

如何创建这个部分,所以我可以在我的其他视图页面重新使用它,通过传递在评论对象。

这是局部视图吗?

回答

5

这是局部视图吗?

是的,这看起来像一个很好的候选人的局部视图(~/Views/Shared/_Comment.cshtml):

@model CommentViewModel 
<div class="comment"> 
    ... 
</div> 

,然后当你需要的地方使用它:

@model SomeViewModel 
... 
@Html.Partial("_Comment", Model.Comment) 

另一种可能性是使用显示模板(~/Views/Shared/DisplayTemplates/CommentViewModel.cshtml):

@model CommentViewModel 
<div class="comment"> 
    ... 
</div> 

,然后当你需要的地方使用它:

@model SomeViewModel 
... 
@Html.DisplayFor(x => x.Comment) // the Comment property is of type CommentViewModel 

,但另一种可能是使用Html.Action and Html.RenderAction帮手。

因此,您可以看到ASP.NET MVC提供了创建可重用部件的不同方式。

+0

vs.net似乎不以下划线前缀创建部分剃刀页面时? – Blankman

+0

Underscore是Razor防止直接加载html页面的惯例。用下划线不能直接到达。 –