【发布时间】:2023-03-30 18:45:02
【问题描述】:
我尝试将下拉列表的选择保存到 SelectedIndexChanged 事件中的 cookie。
protected void BranchNumberList_SelectedIndexchanged(object sender, EventArgs e)
{
HttpCookie myCookie = new HttpCookie("default_Loc", BranchNumberList.SelectedValue);
myCookie.Expires = DateTime.Now.AddDays(365);
Response.Cookies.Add(myCookie);
ViewDate.Enabled = true;
SelectEverything();
}
myCookie 看起来不错,我可以通过快速观察在响应对象中看到它。
当从 Page_Load 调用此方法时,我尝试在下次登录时检索它。
private void BranchName()
{
DatabaseHelpers dh = new DatabaseHelpers();
DataSet DrpDownSrc = dh.FillBranchSelection(objConn);
BranchNumberList.DataSource = DrpDownSrc;
BranchNumberList.DataTextField = "BranchName";
BranchNumberList.DataValueField = "LocationID";
BranchNumberList.DataBind();
BranchNumberList.Items.Insert(0, "Select a branch");
try
{
BranchNumberList.SelectedValue = this.Request.Cookies["default_Loc"].Value;
}
catch (Exception)
{
BranchNumberList.SelectedIndex = 0;
}
}
我总是得到 'this.Request.Cookies["default_Loc"]' 为空。
谁能看出我哪里出错了?
【问题讨论】:
-
你能打开你的浏览器并验证cookie被设置了吗?在 Chrome 中,您将打开开发工具 --> 资源 --> Cookies --> 页面 --> 并查看与您的页面关联的所有 cookie。
-
你在哪里设置 Request.Cookies["default_Loc"] 的值