我正在接触MVC 3并且很困惑我如何在我的项目中使用UserControl。
我创建了一个名为UserControl.cshtml的usercontrol(cshtml)文件,我正在尝试将其呈现为Products.cshtml。
MyUserControl.cshtml位于共享文件夹中。
在Products.cshtml中:
<div>
@Html.Partial("MyUserControl.cshtml");
</div>
但是我收到了这个错误。我不知道为什么要搜索.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
这是在mvc 3中呈现usercontrol的正确方法吗?
- 更新 -
这很有效。
@RenderPage("../Shared/MyUserControl.cshtml")
答案 0 :(得分:14)
您无需指定文件扩展名,视图引擎将处理该文件扩展名。
@Html.Partial("MyUserControl")
答案 1 :(得分:2)
Phil haack在使用Partial页面的过程中有很棒的博客。
http://haacked.com/archive/2009/11/18/aspnetmvc2-render-action.aspx