【问题标题】:How can I open an aspx from a mvc4 project?如何从 mvc4 项目中打开 aspx?
【发布时间】:2014-09-23 10:28:18
【问题描述】:

我有一个 MVC4 应用程序,我需要在其中添加一些旧的 aspx 页面。我像这样将它添加到 Views/Report 文件夹中

我已将以下代码添加到 routeconfig 以避免为 aspx 页面路由。

routes.IgnoreRoute("{resource}.aspx/{*pathInfo}");

但是当我尝试打开页面时,我从服务器收到资源未找到错误。

谁能告诉我我缺少什么。

【问题讨论】:

  • @DylanCorriveau Corriveau 在上述解决方案中,他们将路由映射到物理文件。我认为我不想在这里定义路由,因为我说过要忽略 .aspx 请求。
  • 但是如果你写的是忽略路由,那么它将返回找不到资源的消息(我相信......),这在这种情况下是有意义的。您可能需要删除忽略路由,或者只为报告目录添加一个特殊的映射案例
  • @DylanCorriveau routes.IgnoreRoute 所说的是从以下 mvc 路由中删除此类路径。这些路径将根据物理路径提供。

标签: c# asp.net asp.net-mvc-4


【解决方案1】:

如果您查看/Views 文件夹,您会在您的ASP.NET 应用程序的根目录中发现除了每个人都知道和喜爱的Web.config 文件之外。这是一个内置功能,其中文件夹路径继承父文件夹中定义的 web.config 文件定义的属性,但可以使用自己的配置覆盖它们。在所有默认 MVC 应用程序的情况下,你喜欢有一个有问题的行:

<system.web>
    <httpHandlers>
      <add path="*" verb="*" type="System.Web.HttpNotFoundHandler"/>
    </httpHandlers>
...

最简单的解决方案是将您的 aspx 保留在 /Views 文件夹之外。

【讨论】:

  • 顺便说一句,如果您完全关心安全性,请不要删除该行,其目的是确保没有人可以通过简单地将它们作为文件请求来查看您的视图的原始文本是什么通过http。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-06-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多