如何在ASP.NET MVC中路由webforms页面?

时间:2011-03-25 16:04:11

标签: c# asp.net asp.net-mvc asp.net-mvc-2 webforms

我有一个MVC页面,它有一个需要渲染的webforms页面:

webforms页面的虚拟目录是:

http://mysite/Report/1

保存文件:

~/Areas/Accounts/Views/Invoices/Report.aspx?id=1

如何映射?

我已将其映射到控制器:

return Redirect("~/Areas/Accounts/Views/Invoices/Report.aspx?id=1?id=" + id);

但是我收到了错误。

2 个答案:

答案 0 :(得分:3)

您希望使用MapPageRoute()方法将内容发送到特定页面:

routes.MapPageRoute(
 "ReportRoute",
 "Report/{id}",
 "~/Areas/Accounts/Views/Invoices/Report.aspx?id={id}"   
 );

答案 1 :(得分:0)

从你说的方式来看,你可能不清楚自己在做什么。

  1. 在此文件夹中添加一个Controller(来自visual studio):~/Areas/Accounts/Controllers/Report

    您的display(int id)课程可能会有ReportController方法。然后,默认情况下,您的URl将如下所示:

    http://mysite/Report/display/1
    
  2. 要自定义它,请将其添加到Global.asax.cs

    routes.MapRoute(
    "NewRoute", // Route name
    "report/{id}", // URL with parameters
     new { controller = "report", action = "display", // Parameter defaults
     id = UrlParameter.Optional }
    );