当我在 url 中CheckInvalidPathChars()
输入一个无效字符(如<
, )时,我从该方法中得到一个自动异常。>
自动检查路径,我想捕获异常以便将用户重定向到404 error
页面。
我怎样才能捕捉到那个异常?
相关信息:
我正在使用Umbraco 4.9.0
我找到的解决方案:
我在项目的根目录中创建了文件 Global.asax。该文件具有“Application_Error”方法,当 URL 中有非法字符时会触发该方法。
我用以下代码编辑了这个方法:
protected void Application_Error(object sender, EventArgs e)
{
Server.ClearError();
string errorTemplate = library.RenderTemplate(nodeId);
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.AddHeader("Content-Length", errorTemplate.Length.ToString());
HttpContext.Current.Response.Write(errorTemplate);
HttpContext.Current.Response.Flush();
HttpContext.Current.Response.Close();
}
希望这可以帮助!