使用@ Html.Partial渲染usercontrol(cshtml)

Asd*_*dfg 6 asp.net-mvc user-controls asp.net-mvc-3

我正在接触MVC 3并且很困惑我如何在我的项目中使用UserControls.

我创建了一个名为UserControl.cshtml的usercontrol(cshtml)文件,我正在尝试将其呈现为Products.cshtml.

MyUserControl.cshtml位于Shared文件夹中.

在Products.cshtml中:

<div>
    @Html.Partial("MyUserControl.cshtml");
</div>
Run Code Online (Sandbox Code Playgroud)

但是我收到了这个错误.我不知道为什么要搜索.ascx文件:

The partial view 'MyUserControl.cshtml' was not found or no view engine supports the searched locations. The following locations were searched:
~/Views/Products/MyUserControl.cshtml.aspx
~/Views/Products/MyUserControl.cshtml.ascx
~/Views/Shared/MyUserControl.cshtml.aspx
~/Views/Shared/MyUserControl.cshtml.ascx
Run Code Online (Sandbox Code Playgroud)

这是在mvc 3中呈现usercontrol的正确方法吗?

--Update--

这有效.

@RenderPage("../Shared/MyUserControl.cshtml")
Run Code Online (Sandbox Code Playgroud)

Dav*_*enn 14

您不需要指定文件扩展名,视图引擎将处理该文件扩展名.

@Html.Partial("MyUserControl")
Run Code Online (Sandbox Code Playgroud)