【发布时间】:2023-03-28 08:58:01
【问题描述】:
我的 web 表单应用程序的 global.asax 中有以下 RegisterRoutes 方法`
routes.MapPageRoute("about", "about", "~/about.aspx");
routes.Add(
"root",
new Route("", new RootRouteHandler())
);
第一条路线可以正常工作,即当我输入http://localhost:9898/about 但当我转到像“http://localhost:9898”这样的根地址时,它不会调用RootRouteHandler。这是路由处理程序的代码
public class RootRouteHandler : IRouteHandler
{
public IHttpHandler GetHttpHandler(RequestContext requestContext)
{
var address = requestContext.HttpContext.Request.Headers["host"];
string host = string.Empty;
var index = address.IndexOf('.');
if(index>0)
{
host = address.Substring(0, index);
}
var virtualPath = string.Format("~/{0}/default.aspx", host);
var page = BuildManager.CreateInstanceFromVirtualPath(virtualPath, typeof(Page)) as Page;
return page;
}
}
*编辑:*当我添加路线时
routes.Add("root",new Route("default",new RootRouteHandler());
然后为地址http://localhost:9898/default 调用处理程序很好,但我需要让它为根地址工作。有什么想法吗?
【问题讨论】:
标签: asp.net routing webforms url-routing