很郁闷!!!能做到吗?

k98188 2004-12-09 03:14:34

当用户通过下拉列表选中其它风格的,我存到客户端的cookie,然后通过读取刚存进的cookie,改变当前网页风格.

但是,我下拉后的结果却是上一次存的cookie,而不是我刚选中存的cookie.

简单地说:我先选中蓝色风格,但是当前风格不变,当我选黄色风格的时候,却又变成了蓝色风格???


相关代码如下:

public string Style_css;

private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if (!Page.IsPostBack)
{

Listddl_css();

Style_css="skins/metal/style.css";

}
else
{

HttpCookie Mycookie=Request.Cookies["Next_css"];

Style_css=Mycookie.Values["css2"].ToString();

}

}

//下拉列表显示的内容
private void Listddl_css()
{

ds1.Show_ds("select * from Lb_Skins","Skins");
ddl_css.DataSource=ds1.ds;
ddl_css.DataTextField="S_Name";
ddl_css.DataValueField="S_Css";
ddl_css.DataBind();

Conn.close();

}

//下拉事件
private void ddl_css_SelectedIndexChanged(object sender, System.EventArgs e)
{


HttpCookie MyCookies;

MyCookies=new HttpCookie("Next_css");

MyCookies.Values.Add("css2",ddl_css.SelectedItem.Value.ToString());

Response.AppendCookie(MyCookies);

MyCookies.Expires=DateTime.MaxValue;

}
...全文
206 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
SpaceTime 2004-12-11
  • 打赏
  • 举报
回复
。ddl_css的AutoPostBack属性设置成true
keenyliu 2004-12-11
  • 打赏
  • 举报
回复
楼主,在ddl_css_SelectedIndexChanged增加重新绑定的方法试试。

选择下拉框事件之顺序:pageload(此时Page.IsPostBack为true)-》selectindexchange;虽然改了之后已经是新值了,但是没有做绑定的动作,所以还是原来的风格!
k98188 2004-12-11
  • 打赏
  • 举报
回复
等了两天了!!!
i三千 2004-12-11
  • 打赏
  • 举报
回复
我轻轻滴顶,正如我轻轻地来~
仓木泽 2004-12-11
  • 打赏
  • 举报
回复
关注
k98188 2004-12-11
  • 打赏
  • 举报
回复
改了,也没有用
k98188 2004-12-10
  • 打赏
  • 举报
回复
HElP
gbbword 2004-12-09
  • 打赏
  • 举报
回复
帮顶!
k98188 2004-12-09
  • 打赏
  • 举报
回复
谁知道阿,帮忙一下
k98188 2004-12-09
  • 打赏
  • 举报
回复
我试着把
HttpCookie Mycookie=Request.Cookies["Next_css"];

Style_css=Mycookie.Values["css2"].ToString();

放到下拉事件中
private void ddl_css_SelectedIndexChanged(object sender, System.EventArgs e)
{


HttpCookie MyCookies;

MyCookies=new HttpCookie("Next_css");

MyCookies.Values.Add("css2",ddl_css.SelectedItem.Value.ToString());

Response.AppendCookie(MyCookies);

MyCookies.Expires=DateTime.MaxValue;


HttpCookie Mycookie=Request.Cookies["Next_css"];

Style_css=Mycookie.Values["css2"].ToString();

}




ddl_css的AutoPostBack属性设置成true,但是也没有起作用阿??????
muse2008 2004-12-09
  • 打赏
  • 举报
回复
要注意事件的顺序
Overriding 2004-12-09
  • 打赏
  • 举报
回复
nod
zhangzs8896 2004-12-09
  • 打赏
  • 举报
回复
所以想这样的代码,最好写在ddl_css_SelectedIndexChanged中。
page_load中只给个初始的。ddl_css的AutoPostBack属性设置成true
keenyliu 2004-12-09
  • 打赏
  • 举报
回复
zpisgod(GOD)说的对,建议你在ddl_css_SelectedIndexChanged方法里在取出新的cookie后再重新执行
HttpCookie Mycookie=Request.Cookies["Next_css"];
Style_css=Mycookie.Values["css2"].ToString();
zhangzs8896 2004-12-09
  • 打赏
  • 举报
回复
AutoPostBack属性设置成true试试
zpisgod 2004-12-09
  • 打赏
  • 举报
回复
当你第一次选的时候先执行page_load,然后才改变cookie,当然不会变了
第二次选的时候在page_load中取到上次存储的风格....
随意显示的时候慢一拍
huqiyang 2004-12-09
  • 打赏
  • 举报
回复
头晕 UP
k98188 2004-12-09
  • 打赏
  • 举报
回复
再次HElP
lgg06 2004-12-09
  • 打赏
  • 举报
回复
up

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧