0

我想在我的 MVC 4 项目中创建类似于用户控件的东西。我已按照本文中的说明进行操作,因此我在项目中添加了 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 部分的正确方法是什么?

这是智能感知的屏幕截图:

在此处输入图像描述

4

2 回答 2

6

我更倾向于使用部分视图,您可以将其放置在共享视图文件夹中,然后调用传递您希望使用该视图渲染的模型:

@Html.Partial("propertySummary", property)

只是一个想法

于 2013-08-21T12:16:40.890 回答
1

部分视图最接近于 MVC 中的 Web 表单用户控件的类似物。它们封装了可以在其他视图上重用或直接从操作方法返回的 HTML,这对于需要获取一些 HTML 的 AJAX 调用非常方便。MVC 的最大区别在于,部分视图在 Web 窗体中没有用户控件的 ViewState,也没有任何作用,它已经消失了,就我而言,这是一个很好的摆脱。HTML Helpers 也可以被认为接近用户控件,但是它们完全基于代码并生成 HTML,而 Partial Views 是标记。

于 2013-08-21T12:28:22.397 回答