【发布时间】:2011-01-23 03:14:24
【问题描述】:
如何重写 url 字符串。 用 c#.net 在 asp.net 中。
【问题讨论】:
标签: c# asp.net url-rewriting asp.net-routing
如何重写 url 字符串。 用 c#.net 在 asp.net 中。
【问题讨论】:
标签: c# asp.net url-rewriting asp.net-routing
ASP.NET 支持通过System.Web.Routing 重写 URL,它不仅适用于 ASP.NET MVC。
请参阅 MSDN 上的 How to: Use Routing with Web Forms。
让页面 ~/example/foo.aspx 处理 URL ~/foo 在 global.asax.cs 中注册路由
void Application_Start(object sender, EventArgs e)
{
Route r = new Route("{Parameter}", new ExampleRouteHandler());
Routes.Add(r);
}
路由处理程序可能如下所示:
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));
}
}
【讨论】: