C# 会话和Cookies检索名字和姓氏欢迎消息

C# 会话和Cookies检索名字和姓氏欢迎消息,c#,asp.net,session,cookies,C#,Asp.net,Session,Cookies,试图在这个程序中工作,理论上它应该检索“欢迎”LBL消息的名字和姓氏。在ASP.NET中使用Cookie 它所做的就是只检索[“FirstName”]。我需要两个 Order.aspx.cs protected void Page_Load(object sender, EventArgs e){ string firstName = (string)Session["FirstName"]; string lastName = (string)Session["LastNam

试图在这个程序中工作,理论上它应该检索“欢迎”LBL消息的名字和姓氏。在ASP.NET中使用Cookie

它所做的就是只检索[“FirstName”]。我需要两个

Order.aspx.cs

  protected void Page_Load(object sender, EventArgs e){

  string firstName = (string)Session["FirstName"];
    string lastName = (string)Session["LastName"];
    if ((firstName != null) && (lastName != null))
    {
        lblWelcome.Text = "Welcome back, " + (string)Session["FirstName"] + (string)Session[" LastName"] + "!";
    }
}

CheckOut.aspx.cs

protected void Page_Load(object sender, EventArgs e)
{
    // get entry data from cookies
    //if (Request.Cookies["FirstName"] != null)
    //    txtFirstName.Text = Request.Cookies["FirstName"].Value;
    //if (Request.Cookies["LastName"] != null)
    //    txtLastName.Text = Request.Cookies["LastName"].Value;

    //get entry data from session state
    if (!IsPostBack)
    {
        string firstName = (string)Session["FirstName"];
        if (firstName != null) txtFirstName.Text = (string)Session["FirstName"];
        string lastName = (string)Session["LastName"];
        if (lastName != null) txtLastName.Text = (string)Session["LastName"];
        txtFirstName.Focus();
    }
}

private void LoadCustomerData()
{
    Session["FirstName"] = txtFirstName.Text;
    Session["LastName"] = txtLastName.Text;  
}
在几个部分中[w/o显示整个代码],这就是我到目前为止所做的


想知道是否有人能重新审视这一点,看看我做错了什么?

最有可能的候选者是一个打字错误,不看所有的代码很难发现。我建议删除“神奇字符串”(即
会话[“FirstName”]
),并为会话变量名声明一些常量:

[in some static class]
public const string FirstNameKey = "FirstName";
public const string LastNameKey = "LastName";
然后一致地引用这些键:

Session[FirstNameKey] = txtFirstName.Text;

实际上,我通常使用guid作为名称(例如
public const string FirstNameKey=“49b63214-1812-4ba3-9ace-ae423c682d7c”
,这样就不会有通过应用程序重复它们的问题了问题是cookie名称中的一种类型:
会话[“LastName”]

而不是

stringfirstname=(string)会话[“firstName”];
…=(字符串)会话[“名字];

使用

stringfirstname=(string)会话[“firstName”];
…=名字;