【问题标题】:How to default your asp.net-mvc site to look for razor views first?如何默认您的 asp.net-mvc 站点首先查找剃刀视图?
【发布时间】:2011-11-27 13:15:10
【问题描述】:

我正在将所有视图转换为 razor,因此我创建了所有新视图文件,但我没有删除 aspx 文件(我只是将它们从项目中排除)。当我去测试我的网站时,它似乎试图寻找并加载 aspx 文件。当我删除这些文件时,它可以正常工作并默认为我的 razor cshtml 文件。

我的问题,我想保留我的 aspx 文件一段时间(至少在我知道一切正常之前)。

是否有一个 asp.net-mvc 站点首先查找 razor view 文件,这样我就不需要删除我的 aspx 文件来让它工作?

【问题讨论】:

标签: asp.net-mvc razor viewengine


【解决方案1】:

视图引擎的默认顺序是 Web 表单,然后是 Razor。只需更改顺序即可。

受保护的 void Application_Start() {
ViewEngines.Engines.Clear();
ViewEngines.Engines.Add(new RazorViewEngine()); ViewEngines.Engines.Add(new WebFormViewEngine()); // 这里的剩余调用 // ... }

【讨论】:

    【解决方案2】:

    我在将网站从 webforms 迁移到 mvc 时遇到了同样的问题。但是我遇到了 MVC 贪婪的问题。我的网站将默认使用 mvc 视图而不是 webforms。最终我所做的是在 webforms 的根目录下创建一个新文件夹并将其设置为新的应用程序起点。然后将 mvc 站点上传到此文件夹中。然后,一旦我知道一切都很好,我就可以取消网络表单。我发现这是最好的选择。

    编辑:应该提到我尝试忽略路由的事情来忽略 .aspx 页面 - 根本不适合我。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-12
      • 2011-06-09
      • 2011-12-05
      相关资源
      最近更新 更多