2011-02-19 62 views
0

看起来我在这里错过了一些东西,我无法弄清楚它是什么。我正在使用VS2010 VB Web Project模板创建一个MVC3 VB.NET应用程序。我删除了所有(.aspx)视图并创建了.VBHTML Razor视图 - 在Home文件夹下命名为Index.vbhtml。 HomeContoller具有操作索引。当我运行该应用程序时,出现以下错误。如何找到MVC3 Razor(.VBHTML)视图?

未找到'索引'或其主人的视图。以下地点搜索: 〜/浏览/首页/的Index.aspx

〜/浏览/首页/ Index.ascx〜/查看/共享/的Index.aspx 〜/查看/共享/ Index.ascx 〜 /Views/Home/Index.cshtml 〜/ Views/Shared/Index.cshtml

很明显,视图引擎找不到.vbhtml视图。任何人都可以请告诉我如何启用它?相同的设置与.cshtml文件一起使用。

回答

1

您是否将Razor注册为ViewEngine?

protected void Application_Start() 
{ 
    // ... 
    ViewEngines.Engines.Add(new RazorViewEngine(("vb"))); 
} 
+0

我看不到智能中的RezorViewEngine()。 MSDN说有一个RazorViewEngine类。 http://msdn.microsoft.com/en-us/library/gg453829(v=vs.98).aspx。但我无法在System.Web.Mvc.dll中看到它(使用反射器)。你能告诉我我在这里错过了什么吗?我正在使用MVC3 – Spock 2011-02-19 04:49:41

0

由于您删除了所有的.aspx,我猜测这个应用程序本来不是一个Razor应用程序?您是否在Web配置中添加了对Razor的引用?

<add assembly="System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
+0

是的,它最初并不是一个Razor应用程序。它是一个Visual Basic ASP.NET MVC 3 Web应用程序(ASPX)。在Visual Basic下,我看不到ASP.NET MVC 3 Web应用程序(RAZOR)的模板。我也添加了你建议的配置条目,但我仍然有同样的问题。 – Spock 2011-02-19 02:51:14

0

对不起,这是我的错。我没有安装最新的MVC3,并且搞砸了一切。非常感谢。 ViewEngines.Engines.Add(new RazorViewEngine((“vb”)));指出我正确的方向。我引用的版本没有RazorViewEngine