4

我正在尝试将旧的 ReportViewer Webform 集成到我当前的 MVC3 项目中。我希望它可以在http://<server>/Reports/ViewReport.aspx. 起初,我在项目的根目录中创建了一个名为 的文件夹Reports,将页面转储到那里,它工作得很好。

但是,我现在有一个 Area 也称为Reports,我必须删除该文件夹才能使默认路由正常工作。

如何配置我的路由,以使 Webform URL 看起来像是来自Reports我的项目中的其他地方?

4

1 回答 1

1

最简单的方法是使用IIS URL Rewrite模块。对您的应用程序的代码或路由没有任何更改。只需将您的网页放在某个也可访问的非 MVC 相关文件夹中。

http://www.iis.net/download/urlrewrite

但除此之外,您可以尝试将文件直接放在 area 文件夹中,因为RouteCollection.RouteExistingFiles默认情况下false这意味着您的文件应该由通常的 Asp.net Web 表单管道处理。

最重要的是,尽管您没有将文件放在配置了System.Web.HttpNotFoundHandler处理程序的文件夹中。默认情况下,视图文件夹具有这些配置,因此子文件夹树中的文件无法从请求级别访问。应用程序当然可以访问它们(这就是 MVC 的工作方式)。

于 2012-08-23T22:14:59.983 回答