0
Мне нужно настроить некоторые страницы ошибок в моем приложении веб-форм. Таким образом, я создал новый веб-форму 404ErrorPage.aspx
Настройка страницы ошибки в приложении webforms
public partial class _404ErrorPage : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
// If you're running under IIS 7 in Integrated mode set use this line to override
// IIS errors:
Response.TrySkipIisCustomErrors = true;
// Set status code and message; you could also use the HttpStatusCode enum:
// System.Net.HttpStatusCode.NotFound
Response.StatusCode = 404;
Response.StatusDescription = "Page not found";
}
}
404ErrorPage.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="404ErrorPage.aspx.cs" Inherits="WebApp._404ErrorPage" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Page not found</title>
<style type="text/css">
body {
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAYAAACpSkzOAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAxMC8yOS8xMiKqq3kAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzVxteM2AAABHklEQVRIib2Vyw6EIAxFW5idr///Qx9sfG3pLEyJ3tAwi5EmBqRo7vHawiEEERHS6x7MTMxMVv6+z3tPMUYSkfTM/R0fEaG2bbMv+Gc4nZzn+dN4HAcREa3r+hi3bcuu68jLskhVIlW073tWaYlQ9+F9IpqmSfq+fwskhdO/AwmUTJXrOuaRQNeRkOd5lq7rXmS5InmERKoER/QMvUAPlZDHcZRhGN4CSeGY+aHMqgcks5RrHv/eeh455x5KrMq2yHQdibDO6ncG/KZWL7M8xDyS1/MIO0NJqdULLS81X6/X6aR0nqBSJcPeZnlZrzN477NKURn2Nus8sjzmEII0TfMiyxUuxphVWjpJkbx0btUnshRihVv70Bv8ItXq6Asoi/ZiCbU6YgAAAABJRU5ErkJggg==);
}
.error-template {
padding: 40px 15px;
text-align: center;
}
.error-actions {
margin-top: 15px;
margin-bottom: 15px;
}
.error-actions .btn {
margin-right: 10px;
}
</style>
</head>
<body>
<form id="HtmlForm" runat="server">
<div class="container">
<div class="row">
<div class="col-md-12">
<div class="error-template">
<h1>Oops!</h1>
<h2>404 Not Found</h2>
<div class="error-details">
Sorry, an error has occured, Requested page not found!
</div>
<div class="error-actions">
<a href="http://www.jquery2dotnet.com" class="btn btn-primary btn-lg"><span class="glyphicon glyphicon-home"></span>
Take Me Home </a><a href="http://www.jquery2dotnet.com" class="btn btn-default btn-lg"><span class="glyphicon glyphicon-envelope"></span>Contact Support </a>
</div>
</div>
</div>
</div>
</div>
</form>
</body>
</html>
Global.asax.cs
protected void Application_Error(object sender, EventArgs e)
{
// An error has occured on a .Net page.
var serverError = Server.GetLastError() as HttpException;
if (null != serverError)
{
int errorCode = serverError.GetHttpCode();
if (404 == errorCode)
{
Server.ClearError();
Server.Transfer("404ErrorPage.aspx");
}
}
}
Web.config
<system.web>
<customErrors mode="On" defaultRedirect="404ErrorPage.aspx">
<error statusCode="403" redirect="404ErrorPage.aspx" />
<error statusCode="404" redirect="404ErrorPage.aspx" />
</customErrors>
Это не сработало, приложение по-прежнему использует страницу с ошибкой по умолчанию.
Так что мне нужно знать
- Что является причиной этого?
- Как это исправить?
Спасибо,
Какая ошибка Код страницы по умолчанию? – Dalorzo
@ Dalorzo Я добавил код представления –