c# - 如何在 asp.net mvc 3 项目中路由 .aspx 页面?

标签 c# asp.net asp.net-mvc routing

我在以下路径中有一个 .aspx 页面:

Areas/Management/Views/Ticket/Report.aspx

我想在我的浏览器中将其路由到以下路径:

http://localhost/Reports/Tickets

我该怎么做?

我试试这个:

routes.MapRoute(
    "Tickets", // Route name
    "Areas/Management/Views/Ticket/Report.aspx", // Original URL
    new { controller = "Reports", action = "Tickets" } // New URL 
);

但是我遇到了 404 错误。

我做错了什么?

Obs:我把它放在 Default 路由之前。

最佳答案

如果您尝试在 MVC 项目中使用 Web 表单,那么我会将您的 .aspx 移出 View 文件夹,因为它不是真正的 View ,所以类似于 WebForms/Tickets/Report.aspx。

在 Web 表单中,您可以通过调用 MapPageRoute 方法来映射路线。

routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapPageRoute("Tickets", "Reports/Tickets", "~/WebForms/Tickets/Report.aspx");
routes.MapRoute("Default", "{controller}/{action}/{id}", new { controller = "Home", action = "Index", id = UrlParameter.Optional });

您需要将其放在默认 MVC 路由之前。

关于c# - 如何在 asp.net mvc 3 项目中路由 .aspx 页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10175200/

相关文章:

c# - 时间跨度四舍五入到小数点后 3 位

c# - 访问 WP7 联系人

C# Dynamic Linq - 案例陈述

c# - 将所有文件从源文件夹复制到目标文件夹重命名所有文件,同时在 asp.net c# 中处理

asp.net - 将列表(字符串)绑定(bind)到中继器

javascript - Kendo mvc Grid ClientTemplate javascript 函数不起作用

c# - Outlook 2010 加载项 C# 公共(public)方法

c# - PetaPoco 集成中的错误

html - @Html.ActionLink 和 Angularjs 值?

asp.net - Visual Studio 2015 - 在 Debug模式下打开两个项目