我对此很新,所以请帮助我。
我正在尝试将2个下拉列表的值存储在cookie中,然后在页面再次加载时将这些值作为默认值。
protected void ddlSelectedIndexChange(Object sender, EventArgs e) {
HttpCookie cookie = new HttpCookie("ddlValues");
cookie.Values["ddlCatalogType"] = ddlCatalogType.SelectedValue;
cookie.Values["ddlSource"] = ddlSource.SelectedValue;
cookie.Expires = DateTime.Now.AddYears(50);
Response.Cookies.Add(cookie);
}
从这里开始,我该去哪儿?我迷失了这一点,甚至不确定上述代码是否100%正确。
答案 0 :(得分:0)
在您想要的网页的Page_Load中添加以下代码段。
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
if (Request.Cookies["ddlValues"] != null)
{
if (Request.Cookies["ddlValues"]["ddlCatalogType"] != null)
{
string catalog = Request.Cookies["ddlValues"]["ddlCatalogType"];
ddlCatalogType.SelectedIndex = ddlCatalogType.Items.IndexOf(ddlCatalogType.Items.FindByText(catalog));
}
if (Request.Cookies["ddlValues"]["ddlSource"] != null)
{
string source = Request.Cookies["ddlValues"]["ddlSource"];
ddlSource.SelectedIndex = ddlSource.Items.IndexOf(ddlSource.Items.FindByText(source));
}
}
}
}
对于您的代码,我建议检查cookie是否已存在。
protected void ddlSelectedIndexChange(Object sender, EventArgs e)
{
if (Request.Cookies["ddlValues"] == null)
{
HttpCookie cookie = new HttpCookie("ddlValues");
cookie.Values["ddlCatalogType"] = ddlCatalogType.SelectedValue;
cookie.Values["ddlSource"] = ddlSource.SelectedValue;
cookie.Expires = DateTime.Now.AddYears(50);
Response.Cookies.Add(cookie);
}
}