mvc 自定义视图引擎路径问题

wangzhi0321 2014-01-23 12:06:37
自定义视图引擎测试代码

public class CustomViewEngine:RazorViewEngine
{
private static string[] viewFormats = new[] {
"~/Views/{1}/subpart/{0}.aspx",
"~/Views/{1}/subpart/{0}.ascx"
};
public CustomViewEngine()
{
base.ViewLocationFormats = base.ViewLocationFormats.Union(viewFormats).ToArray();
}
}

Global.asax添加自定义视图引擎代码

ViewEngines.Engines.Add(new CustomViewEngine());


Controller代码
  public class testController:Controller
{
public ActionResult Index()
{
return View();
}
}

View代码

<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage" %>

<!DOCTYPE html>

<html>
<head runat="server">
<meta name="viewport" content="width=device-width" />
<title></title>
</head>
<body>
<div>
<p>ddddddd</p>
</div>
</body>
</html>


View的test文件夹Index.aspx能正常访问。
View的test/subpart文件夹Index.aspx访问报如下错误:

“~/Views/test/subpart/index.aspx”处的视图必须派生自 WebViewPage 或 WebViewPage<TModel>。

怎么解决???
...全文
410 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
green66 2014-12-22
  • 打赏
  • 举报
回复
求详细解决方案
tteagle 2014-08-15
  • 打赏
  • 举报
回复
搞定了。 再继承一个WebFormViewEngine就行了。
tteagle 2014-08-15
  • 打赏
  • 举报
回复
我也碰到类似问题了。
wangzhi0321 2014-01-23
  • 打赏
  • 举报
回复
引用 1 楼 Change_L 的回复:

"~/Views/subpart/{1}/{0}.aspx"
不行啊,index.aspx文件放在test文件的subpart文件里,貌似能找到,但提示index.aspx要派生于webviewpage
Change_L 2014-01-23
  • 打赏
  • 举报
回复

"~/Views/subpart/{1}/{0}.aspx"

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧