-6

如何重写 url 字符串。在带有 c#.net 的 asp.net 中。

4

1 回答 1

3

ASP.NET 支持通过System.Web.Routing重写 URL ,它不仅适用于 ASP.NET MVC。

请参阅MSDN 上的如何:将路由与 Web 窗体一起使用。

让页面 ~/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));
    }
}
于 2010-03-03T10:14:55.443 回答