【发布时间】:2014-08-09 16:55:51
【问题描述】:
我开始使用 EditorFor 辅助方法来渲染我的剃刀局部视图,但我无法让 Areas 文件夹中的局部视图工作。
这里是部分路径:
~\Areas\Products\Views\Shared\EditorTemplates\_Edit.cshtml
部分非常简单,只有一个“div”标签来做测试。
尝试在我的页面视图 (~\Areas\Products\Views\EditPage.cshtml) 中使用
@Html.EditorFor(m => m.ProductEditModel, "_Edit")
Visual Studio 告诉我“无法解析模板 '_Edit'”。
现在,如果我将部分移动到根视图文件夹:
~\Views\Shared\EditorTemplates\_Edit.cshtml
它工作正常,Visual Studio 解析模板没有问题,并且 div 在我的浏览器中正确呈现。
我也试过自定义RazorViewEngine,也没用
namespace MySite.Web
{
public class RazorViewEngine : System.Web.Mvc.RazorViewEngine
{
public RazorViewEngine()
: this(null)
{
}
public RazorViewEngine(IViewPageActivator viewPageActivator)
: base(viewPageActivator)
{
AreaPartialViewLocationFormats = new[]
{
"~/Areas/{2}/Views/Shared/EditorTemplates/{0}.cshtml"
}.Union(AreaPartialViewLocationFormats).ToArray();
}
}
}
只是想知道我做错了什么?顺便说一句,我目前正在使用 MVC3,由于一些旧组件,无法升级到 MVC4。
【问题讨论】:
标签: asp.net-mvc asp.net-mvc-3 razor