我想在我的MVC 4项目中创建类似用户控件的东西。我已按照this article中的说明进行操作,因此我在项目中添加了App_Code文件夹(它最初不在那里)。我在里面放了一个文件
VDRazorHelpers.cshtml
在该文件中,我的代码实际上是一个静态html表(我稍后会添加动态值):
@helper PropertySummary(){
<tr>
<td width="210" align="center" colspan="2">
<img src="http://www.mysite.com/images/BG1.JPG" width="210" height="140" />
</td>
</tr>
}
然后在我看来,我尝试访问帮助者写作:
@VDRazorHelpers.PropertySummary
但这似乎不可用。
我知道我提到的文章是针对MVC3的。它改变了吗?在MVC4中使用自定义可重用html部分的正确方法是什么?
以下是intellisense的截图:
答案 0 :(得分:5)
我更倾向于使用部分视图,您可以将其置于共享视图文件夹中,然后调用您希望使用该视图呈现的模型:
@Html.Partial("propertySummary", property)
只是一个想法
答案 1 :(得分:1)
部分视图最接近MVC中Web窗体用户控件的模拟。它们封装了可以在其他视图上重用或直接从操作方法返回的HTML,这对于需要获取某些HTML的AJAX调用很方便。 MVC的最大区别在于,部分视图在Web窗体中没有用户控件的ViewState,也没有做任何事情,它已经消失了,而且就我而言也是如此。 HTML Helper也可以被认为是接近用户控件,但它们完全基于代码并生成HTML,而部分视图是标记。