Asp.net mvc 如何显示MVC2应用程序中的Web表单页面?
报表查看器控件显然只在我使用MVC2的Web表单页面中起作用。因此,我制作了一个,将我的报告添加到其中,并尝试从我的MVC2站点中的一个视图创建一个指向它的链接。我始终得到一个错误,即找不到资源。我已经尝试了我能想到的所有可能的URL,让它工作起来。我甚至将一个超链接工具拖放到页面中,并将其设置为链接到所讨论的Web表单,得到了相同的结果 Web表单位于/Views/MaintenanceReports文件夹中。我尝试过像~/Views/MaintenanceReports/DriverList.aspx这样的URL,有没有*.aspx和其他一些。但是,我非常确定这应该是URL 我还将这个页面路由添加到Global.asax文件中,希望它能做一些神奇的事情:routes.mappagerouteddriverlisting、MaintenanceReports/DriverListing、~/Views/MaintenanceReports/DriverListing.aspx 根据我的一位程序员同事的建议,我还尝试在MVC视图中添加一个iframe,该视图的源代码是有问题的Web表单。这也给了我同样的错误 我手头有一本Pro ASP.NET MVC 2的书,它对我没有任何帮助。它基本上说不应该有问题 服务器运行IIS 7并安装了.NET 4 framework 通常我会花更多的时间寻找答案,但我现在时间很紧。这是我在这里实习的最后一天,我想在离开之前完成这最后一件事 谢谢您的帮助。尝试使用StopRoutingHandler。我认为问题是你需要告诉MVC忽略那些URLAsp.net mvc 如何显示MVC2应用程序中的Web表单页面?,asp.net-mvc,Asp.net Mvc,报表查看器控件显然只在我使用MVC2的Web表单页面中起作用。因此,我制作了一个,将我的报告添加到其中,并尝试从我的MVC2站点中的一个视图创建一个指向它的链接。我始终得到一个错误,即找不到资源。我已经尝试了我能想到的所有可能的URL,让它工作起来。我甚至将一个超链接工具拖放到页面中,并将其设置为链接到所讨论的Web表单,得到了相同的结果 Web表单位于/Views/MaintenanceReports文件夹中。我尝试过像~/Views/MaintenanceReports/DriverList
routes.Add(new Route("MaintenanceReports/{*resource}",
new StopRoutingHandler()));
更新
上面的内容似乎不适用于视图文件夹中的路由。简单的解决方案是将WebForms移出Views文件夹,WebForms在MVC旁边的框中工作。您也可以将此行添加到中以显示.asxp页面
<httpHandlers>
<!-- see below -->
<clear />
<add path="*.aspx" verb="*" type="System.Web.UI.PageHandlerFactory"/>
<add path="*" verb="*" type="System.Web.HttpNotFoundHandler" />
</httpHandlers>
嗯…现在它忽略了所有这些路线。单击“维护报告”链接也会出现相同的错误,而不是将我带到索引页。不过我认为你的想法是对的。你能发布你的路线吗?对我来说没有任何额外的路线规则。啊,刚才注意到你实际上在视图文件夹中,这就是问题所在。你是说global.asax文件中的内容吗?我一点也没有搞砸任何路线。它仍然使用默认格式。如果您将其移出“视图”文件夹,它将正常工作,这是一个选项吗?我们正在取得进展。现在我得到了未知服务器标记“rsweb:reportviewer”的解析器错误。是 啊进步