rewrite url. asp.net c# [closed]

2019-01-27 12:18发布

how to rewrite url string. in asp.net with c#.net.

1条回答
▲ chillily
2楼-- · 2019-01-27 12:29

ASP.NET supports URL rewriting via System.Web.Routing, it is not just for ASP.NET MVC.

See How to: Use Routing with Web Forms on MSDN.

To have URL ~/foo handled by page ~/example/foo.aspx register the route in global.asax.cs

void Application_Start(object sender, EventArgs e)
{
    Route r = new Route("{Parameter}", new ExampleRouteHandler());
    Routes.Add(r);
}

And the route handler might look like this:

public class ExampleRouteHandler : IRouteHandler
{
    public IHttpHandler GetHttpHandler(RequestContext requestContext)
    {
        string page = requestContext.RouteData.GetRequiredString("Parameter");

        if (page == "") {
            page = "default";
        }

        string @virtual = string.Format("~/example/{0}.aspx", page);

        return (Page)BuildManager.CreateInstanceFromVirtualPath(@virtual, typeof(Page));
    }
}
查看更多
登录 后发表回答