Asp.net mvc 在MVC中创建可重用的内容部件

Asp.net mvc 在MVC中创建可重用的内容部件,asp.net-mvc,razor,Asp.net Mvc,Razor,我使用以下HTML块来显示某些内容,例如注释: <div class="comment"> ... </div> ... 这个HTML块使用注释对象来显示数据 我在用剃须刀 如何创建此分区,以便在其他视图页面中重复使用它,只需传入一个comment对象即可 这是局部视图吗 这是局部视图吗 是的,这看起来是局部视图的一个很好的候选(~/Views/Shared/\u Comment.cshtml): 另一种可能是使用显示模板(~/Views/Shared/Displa

我使用以下HTML块来显示某些内容,例如注释:

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

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

我在用剃须刀

如何创建此分区,以便在其他视图页面中重复使用它,只需传入一个comment对象即可

这是局部视图吗

这是局部视图吗

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

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

还有一种可能性是使用助手


正如您所见,ASP.NET MVC提供了创建可重用部件的不同方法。

vs.NET在创建部分razor页面时似乎没有使用下划线作为前缀?下划线是razor的一种惯例,用于防止直接加载html页面。如果带有下划线,则无法直接访问它。
@model CommentViewModel
<div class="comment">
    ...
</div>
@model SomeViewModel
...
@Html.Partial("_Comment", Model.Comment)
@model CommentViewModel
<div class="comment">
    ...
</div>
@model SomeViewModel
...
@Html.DisplayFor(x => x.Comment) // the Comment property is of type CommentViewModel