Как я могу показать правильный pageerror.выход aspx, который после того, как я вошел двумя входами, таких как 7 и 0?
Могу ли я спросить о том, почему мой вывод для PageError.aspx не совпадает с правильным выводом ниже, пожалуйста?:
Правильный вывод для PageError.aspx после того, как я ввел два входа, таких как 7 и 0, используя только метод pageerror (не могу использовать метод try catch):
Извиняюсь. На этой странице встречается одна ошибка: попытка деления на ноль.
Я все еще не могу получить этот правильный вывод, как упоминалось выше, после того, как я несколько раз гуглил и примерял исходный код, вывод PageError.aspx все еще отображает входные данные для выполнения деления с 2 пробелами. Не могли бы вы все объяснить мои ошибки, пожалуйста?
Что я уже пробовал:
Я вставляю некоторые из этих проблем кода здесь, как показано ниже:
Для PageError.aspx-файл,
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="PageError.aspx.cs" Inherits="WebApplication1.PageError" Trace="true" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title>Error Handling</title> </head> <body> <form id="form1" runat="server"> <div style="text-align:center"> <p style="width:60%; padding:30px 20px 30px 20px; border:solid 3px black"> <asp:TextBox ID="TextBox1" runat="server" Height="43px" Width="66px" Font-Bold="True" Font-Names="Comic Sans MS" Font-Size="X-Large"></asp:TextBox> <img alt="" src="images/Divide.jpg" style="height: 39px; width: 65px" /> <asp:TextBox ID="TextBox2" runat="server" Height="43px" Width="66px" Font-Bold="True" Font-Names="Comic Sans MS" Font-Size="X-Large"></asp:TextBox> <asp:ImageButton ID="EqualButton" runat="server" Height="44px" ImageUrl="~/images/EqualButton.jpg" Width="50px" onclick="EqualButton_Click" /> <asp:Label ID="Label1" runat="server" Font-Bold="True" Font-Names="Comic Sans MS" Font-Size="XX-Large" ForeColor="Blue" Text="?"></asp:Label> <br /> <asp:Label ID="lblMessage" runat="server" Text="" Font-Names="Arial" ForeColor="Red"></asp:Label> </p> </div> </form> </body></html>
Для PageError.aspx-файл.в CS,
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace WebApplication1 { public partial class PageError : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void EqualButton_Click(object sender, ImageClickEventArgs e) { double dblAns = Convert.ToDouble(TextBox1.Text) / Convert.ToDouble(TextBox2.Text); Label1.Text = dblAns.ToString(); } void Page_Error() { Response.Write("Sorry <br /><br />" + "One error is encountered in this page: " + Server.GetLastError().Message + ""); Server.ClearError(); //comment this line to see the difference } //protected void Page_Error(object sender, EventArgs e) //{ // Response.Write("Error: " + Server.GetLastError().Message + ""); // Server.ClearError(); //} // void Page_Error() // { // if(Server.GetLastError() != null) // { // Exception objError = Server.GetLastError().GetBaseException(); // string strError = "<p><h1>Sorry<br /><br />" + // "One error is encountered in this page: " + objError.Message.ToString() + "</h1></p>"; // Response.Write(strError.ToString()); // } // // Clear the error from the server. // // Server.ClearError(); // } //} } }
Для Веб-Конфигурации,
<?xml version="1.0" encoding="utf-8"?> <!-- For more information on how to configure your ASP.NET application, please visit https://go.microsoft.com/fwlink/?LinkId=169433 --> <configuration> <system.web> <compilation debug="true" targetFramework="4.6.1"/> <httpRuntime targetFramework="4.6.1"/> <!--<customErrors mode="On" defaultRedirect="ErrorPages/PageError.htm"> <error statusCode="404" redirect="ErrorPages/FileNotFound.htm"/> </customErrors>--> </system.web> <system.codedom> <compilers> <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.5.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:default /nowarn:1659;1699;1701"/> <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.5.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:default /nowarn:41008 /define:_MYTYPE=\"Web\" /optionInfer+"/> </compilers> </system.codedom> <system.webServer> <httpErrors errorMode="Custom" defaultResponseMode="File"> <clear/> <error statusCode="404" path="ErrorPages\FileNotFound.htm"/> </httpErrors> </system.webServer> </configuration>