0
セッション状態からex Exceptionオブジェクトを取得し、例外のMessageプロパティを表示するにはどうしたらいいですか?
ERROR.ASPX.CS page
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace XEx21HandleErrors
{
public partial class Error : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
lblError.Text = ex.Message;
}
}
}
ERROR.ASPX
<%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="Error.aspx.cs" Inherits="XEx21HandleErrors.Error" %>
<asp:Content ContentPlaceHolderID="mainPlaceholder" runat="server">
<h1 class="text-danger">An error has occurred</h1>
<div class="alert alert-danger">
<p><asp:Label ID="lblError" runat="server"></asp:Label></p>
</div>
<asp:Button ID="btnReturn" runat="server" Text="Return to Order Page"
PostBackUrl="~/Order.aspx" CssClass="btn btn-danger" />
</asp:Content>
CONFIRMATION.ASPX.CS
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Net.Mail;
namespace XEx21HandleErrors
{
public partial class Confirmation : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
var customer = (Customer)Session["Customer"];
var date = DateTime.Today.AddDays(1).ToShortDateString();
var text = $"Thank you for your order, {customer.FirstName}! It will be shipped on {date}.";
lblConfirm.Text = text;
SendConfirmation(customer, text);
}
private void SendConfirmation(Customer customer, string body)
{
try
{
MailMessage msg = new MailMessage("[email protected]", customer.EmailAddress);
msg.Subject = "Order Confirmation";
msg.Body = body;
string html = "<html><head><title>Order Confirmation</title></head>"
+ "<body><h3>Thanks for your order!</h3>"
+ "<p>" + body + "</p></body></html>";
AlternateView view = AlternateView.CreateAlternateViewFromString(html, null, "text/html");
msg.AlternateViews.Add(view);
SmtpClient client = new SmtpClient("localhost");
client.Send(msg);
}
catch (Exception ex)
{
Session["Exception"] = ex;
Response.Redirect("~/Error.aspx");
}
}
}
}
<%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="Order.aspx.cs" Inherits="XEx21HandleErrors.Order" %>
<asp:Content ID="mainContent" ContentPlaceHolderID="mainPlaceholder" runat="server">
<div class="row"><%-- row 1 --%>
<div class="col-sm-8"><%-- product drop down and info column --%>
<div class="form-group">
<label class="col-sm-6">Please select a product:</label>
<div class="col-sm-6">
<asp:DropDownList ID="ddlProducts" runat="server" AutoPostBack="True"
DataSourceID="SqlDataSource1" DataTextField="Name"
DataValueField="ProductID" CssClass="form-control">
</asp:DropDownList>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString='<%$ ConnectionStrings:HalloweenConnection %>'
SelectCommand="SELECT [ProductID], [Name], [ShortDescription],
[LongDescription], [ImageFile], [UnitPrice] FROM [Products]
ORDER BY [Name]">
</asp:SqlDataSource>
</div>
</div>
<div class="form-group">
<div class="col-sm-12"><h4><asp:Label ID="lblName" runat="server"></asp:Label></h4></div></div>
<div class="form-group">
<div class="col-sm-12"><asp:Label ID="lblShortDescription" runat="server"></asp:Label></div></div>
<div class="form-group">
<div class="col-sm-12"><asp:Label ID="lblLongDescription" runat="server"></asp:Label></div></div>
<div class="form-group">
<div class="col-sm-12"><asp:Label ID="lblUnitPrice" runat="server"></asp:Label></div></div>
</div>
<div class="col-sm-4"><%-- product image column --%>
<asp:Image ID="imgProduct" runat="server" />
</div>
</div><%-- end of row 1 --%>
<div class="row"><%-- row 2 --%>
<div class="col-sm-12">
<div class="form-group">
<label class="col-sm-2">Quantity:</label>
<div class="col-sm-3">
<asp:TextBox ID="txtQuantity" runat="server"
CssClass="form-control"></asp:TextBox></div>
<div class="col-sm-7">
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" CssClass="text-danger"
runat="server" ControlToValidate="txtQuantity" Display="Dynamic"
ErrorMessage="Quantity is a required field."></asp:RequiredFieldValidator>
<asp:RangeValidator ID="RangeValidator1" runat="server" CssClass="text-danger"
ControlToValidate="txtQuantity" Display="Dynamic"
ErrorMessage="Quantity must range from 1 to 500."
MaximumValue="500" MinimumValue="1" Type="Integer"></asp:RangeValidator></div>
</div>
<div class="form-group">
<div class="col-sm-12">
<asp:Button ID="btnAdd" runat="server" Text="Add to Cart"
onclick="btnAdd_Click" CssClass="btn" />
<asp:Button ID="btnCart" runat="server" Text="Go to Cart"
PostBackUrl="~/Cart.aspx" CausesValidation="False" CssClass="btn" />
<asp:Button ID="btnCheckOut" runat="server" Text="Check Out"
PostBackUrl="~/CheckOut1.aspx" CausesValidation="False" CssClass="btn" />
</div>
</div>
</div>
</div><%-- end of row 2 --%>
</asp:Content>
みなさん、こんにちは、
ユーザーは、このような電子メールに入ったとき、私は私が例外エラーメッセージを表示するアプリケーションに取り組んでいます:電子メールのテキストボックスの内側メールが、問題を私は、セッション状態からの例外オブジェクトを取得し、エラーページのラベルに例外のMessageプロパティを表示する方法について混乱しています。ここにいくつかのWebアプリケーションのページがあります。私はError.aspx.cs(またはコードビハインドファイル)でこれをやろうとしています。誰も助けることができると思いますか?