C# 从请求中删除default.aspx
我正在尝试从任何可能有default.aspx的请求中删除它C# 从请求中删除default.aspx,c#,asp.net,request,C#,Asp.net,Request,我正在尝试从任何可能有default.aspx的请求中删除它 protected void Application_BeginRequest(object sender, EventArgs e) { HttpContext context = HttpContext.Current; string url = context.Request.Url.ToString(); // remove defaul
protected void Application_BeginRequest(object sender, EventArgs e)
{
HttpContext context = HttpContext.Current;
string url = context.Request.Url.ToString();
// remove default.aspx
if (url.EndsWith("/default.aspx", StringComparison.OrdinalIgnoreCase))
{
url = url.Substring(0, url.Length - 12);
context.Response.Redirect(url);
}
}
给出一个错误:
**too many redirects occurred trying to open...**
我能做些什么改变来让它工作
thnx我认为,如果你把重定向放在一个框架内,如果你不必处理无限重定向。你就是在无休止地重定向 每次执行以下行时,都会再次触发应用程序_BeginRequest事件
context.Response.Redirect(url);
将重定向放在if语句中,如下所示
if (url.EndsWith("/default.aspx", StringComparison.OrdinalIgnoreCase))
{
url = url.Substring(0, url.Length - 12);
context.Response.Redirect(url);
}
k明白了。 而不是使用:
string url = context.Request.Url.ToString();
我试过:
string url = context.Request.RawUrl.ToString();
这就行了加上你们说的:)可能会添加default.aspx,因为它被列为默认页面。如何避免呢??