繁体   English   中英

ASP.NET C#应用程序路由

[英]asp.net c# app routing

我一直在尝试启动并运行一些路由。 我基本上想要这个网址:

www.example.com/SomebodysName

要么

www.example.com/agents/somebodysname

..要去...

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

我试图使用来自MSDN的示例,使用globax.asax像这样:

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?)

确保您的Global.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路由。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM