rewrite url. asp.net c# [closed]

↘锁芯ラ 提交于 2019-11-29 13:06:39

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));
    }
}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!