将XML标记的值传递给另一个页面

时间:2012-06-12 07:19:09

标签: asp.net

以下是我从XML页面检索并将其存储在cookie中的页面,我想在另一个页面中检索它。

public partial class shopping : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        HttpCookie userCookie = new HttpCookie("user");
        userCookie["quantity"] = TextBox1.Text;

        XmlDocument doc = new XmlDocument();
        doc.Load(Server.MapPath("shopping_cart.xml"));
        XmlNode root = doc.DocumentElement;

        if (RadioButton1.Checked)
        {
            string str1 = doc.GetElementsByTagName("cost").Item(0).InnerText;
            userCookie["cost"] = str1;
            //Label3.Text = str1;
            Response.Redirect("total.aspx");
        }

    }
}

这是我试图检索它的其他页面(total.aspx.cs):

public partial class total : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        **Label2.Text = Request.Cookies["user"]["quantity"];**

    }
}

我在粗线上获得了Null参考。关于我该怎么做的任何建议?

1 个答案:

答案 0 :(得分:2)

您在第一部分中创建了Cookie,但忘记将其附加到Response

 Response.Cookies.Add(userCookie); // place before your Response.Redirect

另外,请注意,Cookie的最大大小为4000字节,否则可能不是您正在做的最佳选择。您可能希望在Session中存储临时会话信息,以便在页面之间进行访问,而不是使用cookie。

 Session["quantity"] = TextBox1.Text

 // ...

 Session["cost"] = str1;

并在第二页

Label2.Text = Session["quantity"] as string;