how to rewrite url string. in asp.net with c#.net.
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
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));
}
}