Asp.net c#应用路由

本文关键字:路由 应用 net Asp | 更新日期: 2023-09-27 18:08:19

我一直试图得到一些路由和运行。我想要这个url:

www.example.com/SomebodysName

www.example.com/agents/somebodysname

. .To go To…

www.example.com/portfolio.aspx ?跑= somebodysname

我尝试使用来自MSDN的示例,使用globax。像这样:

void Application_Start(object sender, EventArgs e) 
    {
        RegisterRoutes(System.Web.Routing.RouteTable.Routes);
    }
public static void RegisterRoutes(System.Web.Routing.RouteCollection routes)
    {
        routes.MapPageRoute("", "agents/{name}", "portfolio.aspx?ran={name}");
    }

但是我不能让它工作,它说路由在命名空间System.Web中不存在。我怎么能让它以这种方式或另一种方式(web.config?)

Asp.net c#应用路由

确保您的全局。Asax有一个using语句:

using System.Web.Routing;

你可以像这样在目标物理aspx页面上映射你的路由,而不需要参数:

routes.MapPageRoute("AgentPortfolioByName", "agents/{name}", "portfolio.aspx");

在portfolio.aspx.cs中的代码隐藏中,您可以像这样简单地引用name值:

 string name = Page.RouteData.Values["name"].ToString();

这将确保您的ASP。. NET 4+站点的URL路由将按照您的期望/描述工作。