C# 会话和Cookies检索名字和姓氏欢迎消息
试图在这个程序中工作,理论上它应该检索“欢迎”LBL消息的名字和姓氏。在ASP.NET中使用Cookie 它所做的就是只检索[“FirstName”]。我需要两个 Order.aspx.csC# 会话和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
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”];
…=名字;