使用SESSIONS将值传递给另一个页面

时间:2014-09-06 20:30:15

标签: c# asp.net

我坚持将值从一个页面上的表单传递到(confirm.aspx)另一个页面。有人会帮我解决这个问题吗?我不是在寻找一个代码来编写我的程序,因为我已经完成了很多工作。这是我所拥有的,Default.aspx作为我需要传递给Confirm.aspx的三个值。这就是我对Default.aspx的所作所为。

 <form id="form1" runat="server">
    <h1>Price quotation</h1>
    <label>Sales price</label>       
    <asp:TextBox ID="txtSalesPrice" runat="server" CssClass="entry">100</asp:TextBox>
        <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="txtSalesPrice" Display="Dynamic" ErrorMessage="RequiredFieldValidator" CssClass="validator">Required</asp:RequiredFieldValidator>
        <asp:RangeValidator ID="RangeValidator1" runat="server" ControlToValidate="txtSalesPrice" Display="Dynamic" MaximumValue="1000" MinimumValue="10" Type="Double" CssClass="validator">Must be from 10 to 1000</asp:RangeValidator><br /><br />
    <label>Discount percent</label>
    <asp:TextBox ID="txtDiscountPercent" runat="server" CssClass="entry">20</asp:TextBox>
        <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="txtDiscountPercent" Display="Dynamic" ErrorMessage="RequiredFieldValidator" CssClass="validator">Required</asp:RequiredFieldValidator>
        <asp:RangeValidator ID="RangeValidator2" runat="server" ControlToValidate="txtDiscountPercent" Display="Dynamic" MaximumValue="50" MinimumValue="10" Type="Double" CssClass="validator">Must be from 10 to 50</asp:RangeValidator><br />
    <label>Discount amount</label>
    <asp:Label ID="lblDiscountAmount" runat="server" CssClass="result" ></asp:Label><br /><br />
    <label>Total price</label>
    <asp:Label ID="lblTotalPrice" runat="server" CssClass="result" ></asp:Label><br /><br />
    <asp:Button ID="btnCalculate" runat="server" Text="Calculate" OnClick="btnCalculate_Click" CssClass="button" />
    <asp:Button ID="ConfirmButton" runat="server" CssClass="button" Text="Confirm" PostBackUrl="~/Confirm.aspx" OnClick="ConfirmButton_Click" />
    <p><asp:Label ID="lblMessage" runat="server" EnableViewState="false" /></p>
</form>

Default.aspx背后的代码

protected void ConfirmButton_Click(object sender, EventArgs e)
{

    Session["Sales"] = txtSalesPrice.Text;
    Response.Redirect("Confirm.aspx");
    Session["Amt"] = lblDiscountAmount.Text;
    Response.Redirect("Confirm.aspx");
    Session["Total"] = lblTotalPrice.Text;
    Response.Redirect("Confirm.aspx");
}

Confirm.aspx

   <form id="form1" runat="server">
    <h1>Quotation confirmation</h1>
    <label>Sales price</label><asp:Label ID="lblSalesPrice" runat="server" CssClass="result"></asp:Label><%=Session["Sales"] %><br /><br />
    <label>Discount amount</label><asp:Label ID="lblDiscountAmount" runat="server" CssClass="result"><%=Session["Amt"] %></asp:Label><br /><br />
    <label>Total price</label><asp:Label ID="lblTotalPrice" runat="server" CssClass="result"><%=Session["Price"] %></asp:Label><br />
    <h2>Send confirmation to</h2>
    <label>Name</label>       
    <asp:TextBox ID="txtName" runat="server" CssClass="entry"></asp:TextBox>
        <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="txtName" Display="Dynamic" ErrorMessage="RequiredFieldValidator" CssClass="validator">Required</asp:RequiredFieldValidator><br />
    <label>Email address</label>
    <asp:TextBox ID="txtEmail" runat="server" CssClass="entry"></asp:TextBox>
        <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="txtEmail" Display="Dynamic" ErrorMessage="RequiredFieldValidator" CssClass="validator">Required</asp:RequiredFieldValidator><br />
    <asp:Button ID="btnSubmit" runat="server" Text="Send Quotation" CssClass="button" OnClick="btnSubmit_Click" />
    <asp:Button ID="btnReturn" runat="server" Text="Return" PostBackUrl="~/Default.aspx" CausesValidation="false" CssClass="button" OnClick="btnReturn_Click" />
    <p><asp:Label ID="lblMessage" runat="server" ViewStateMode="Enabled" /></p>
</form>

如果有人会抽出时间审查我在这里的内容。我将不胜感激。在Confirm.aspx.cs上的代码没有任何相关内容。

1 个答案:

答案 0 :(得分:1)

default.aspx背后的代码

   protected void ConfirmButton_Click(object sender, EventArgs e)
{

Session["Sales"] = txtSalesPrice.Text;

Session["Amt"] = lblDiscountAmount.Text;

Session["Total"] = lblTotalPrice.Text;
Response.Redirect("Confirm.aspx");
}

你可以在另一个页面中获得价值 在.cs

txtSales.text = Session["Sales"];

在.aspx

 <asp:TextBox ID="txtSales" runat="server" Text='<%# Session["Sales"] %>' >