-3

我有按钮,每个按钮都有会话。用户需要点击其中一个按钮,然后在下一页用户可以查看他们点击的数据。这是我背后的代码:

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

}

protected void Button3_Click(object sender, EventArgs e)
{
    Session["carA"] = Label1.Text;
    Response.Redirect("~/Welcome/BookingForm.aspx");
}
protected void Button4_Click(object sender, EventArgs e)
{
    Session["carB"] = Label1.Text;
    Response.Redirect("~/Welcome/BookingForm.aspx");
}
protected void Button5_Click(object sender, EventArgs e)
{
    Session["carC"] = Label1.Text;
    Response.Redirect("~/Welcome/BookingForm.aspx");
}
protected void Button6_Click(object sender, EventArgs e)
{
    Session["carD"] = Label1.Text;
    Response.Redirect("~/Welcome/BookingForm.aspx");
}
protected void Button7_Click(object sender, EventArgs e)
{
    Session["carE"] = Label1.Text;
    Response.Redirect("~/Welcome/BookingForm.aspx");
}
protected void Button8_Click(object sender, EventArgs e)
{
    Session["carF"] = Label1.Text;
    Response.Redirect("~/Welcome/BookingForm.aspx");
}
protected void Button9_Click(object sender, EventArgs e)
{
    Session["carG"] = Label1.Text;
    Response.Redirect("~/Welcome/BookingForm.aspx");
}
protected void Button10_Click(object sender, EventArgs e)
{
    Session["carH"] = Label1.Text;
    Response.Redirect("~/Welcome/BookingForm.aspx");
}
}

为了取回会话,我在后面的“BookingForm.aspx”代码中使用了这个代码:string car = Session["car"].ToString(); 现在的问题是,我应该编写什么代码才能取回用户点击的会话?如何仅检索用户的会话点击?如果你不清楚我的问题,你可以问我。非常感谢。

4

1 回答 1

2

如果我正确理解了您的问题,那么一个快速而肮脏的解决方案是将密钥也保存为Session这样的:

protected void Button9_Click(object sender, EventArgs e)
{
    Session["carG"] = Label1.Text;
    Session["buttonKey"] = "carG";
}

BookingForm.aspx加载后,您可以使用以下代码从会话中获取值:

private string GetSessionValue()
{
    var key = Sesssion["buttonKey"] as string;
    return Session[key] as string;
}
于 2012-07-31T06:49:58.000 回答