[英]ASP.NET redirect the page to a new URL
我有一个网站,其启动页面名为Test.htm。 网站暂时关闭,我们希望在网站加载时显示错误页面。 我有一个名为error.htm的页面。 这怎么可能 ??
提前致谢!
ASP.NET提供了三种主要方法,可让您捕获错误并在错误发生时做出响应: Page_Error , Application_Error和应用程序配置文件(Web.config)。
1. Page_Error事件提供了一种发生在页面级别 2.You可以使用Application_Error事件捕获错误发生在你的应用程序 3.如果您不调用Server.ClearError或陷阱的错误捕获错误Page_Error或Application_Error事件处理程序,将根据Web.config文件部分中的设置来处理错误。 在里面 部分,您可以将重定向页面指定为默认错误页面(defaultRedirect),也可以根据引发的HTTP错误代码指定到特定页面。
例如,您需要在Global.asax页面的customErrors部分中添加以下代码,以将用户重定向到自定义页面
<customErrors defaultRedirect="http://hostName/applicationName/errorStatus.htm" mode="On"> </customErrors>
只是一个想法,但已经找到了回应。重定向?
把它“脱机”
请参阅: IIS:将所有请求重定向到一页?
您可以修改web.config,以在请求时强制您的应用返回404。 然后将404错误页面覆盖为“错误”页面。
<httpRuntime enable="false" />
<customErrors mode="On" defaultRedirect="~/errors/GeneralError.aspx">
<error statusCode="404" redirect="~/error.htm" />
</customErrors>
您可以使用app_offline.htm页面。 如果asp.net在根目录上找到此页面,则您要求其显示此页面,并且该站点已关闭。
第二种方法,即不关闭站点,在Application Begin Request上,将重定向到您喜欢的页面,如下所示:
protected void Application_BeginRequest(Object sender, EventArgs e)
{
string cTheFile = HttpContext.Current.Request.Path;
// just double check in case that htm proceed from asp.net
if(!cTheFile.EndsWith("test.htm"))
{
System.Web.HttpContext.Current.Response.Redirect("test.htm", true);
return;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.