繁体   English   中英

ASP.NET将页面重定向到新的URL

[英]ASP.NET redirect the page to a new URL

我有一个网站,其启动页面名为Test.htm。 网站暂时关闭,我们希望在网站加载时显示错误页面。 我有一个名为error.htm的页面。 这怎么可能 ??

提前致谢!

ASP.NET提供了三种主要方法,可让您捕获错误并在错误发生时做出响应: Page_ErrorApplication_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>

只是一个想法,但已经找到了回应。重定向?

在ASP.NET MVC中,response.redirect如何工作?

您可以修改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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM