这是一个购物车的移除按钮,就是点击移除按钮的时候 就会移除CheckBoxList(cblist) 里被选中的物品信息!!!
但是为什么我的这段代码点击移除后页面没任何反应 也没有移除啊 ????
代码没有逻辑错误吧 55555555555555555555555 protected void BtnMove_Click(object sender, EventArgs e)
{
Session["buy"] = "";
ArrayList buylist = new ArrayList();
for (int i = 0; i < CBlist.Items.Count; i++)
{
if (!CBlist.Items[i].Selected)
{
Session["buy"] = Session["buy"] + CBlist.Items[i].Text + ";";
buylist.Add(CBlist.Items[i].Text);
}
}
if (Session["buy"].ToString() == "")
{
LblTitle.Text = "购物车中无任何物品";
BtnMove.Visible = false;
BtnClear.Visible = false;
HlShow.Text = "继续购物";
HlShow.NavigateUrl = "default.aspx";
HlResult.Visible = false;
CBlist.Visible = false;
}
else
{
CBlist.DataSource = buylist;
CBlist.DataBind();
}
}
但是为什么我的这段代码点击移除后页面没任何反应 也没有移除啊 ????
代码没有逻辑错误吧 55555555555555555555555 protected void BtnMove_Click(object sender, EventArgs e)
{
Session["buy"] = "";
ArrayList buylist = new ArrayList();
for (int i = 0; i < CBlist.Items.Count; i++)
{
if (!CBlist.Items[i].Selected)
{
Session["buy"] = Session["buy"] + CBlist.Items[i].Text + ";";
buylist.Add(CBlist.Items[i].Text);
}
}
if (Session["buy"].ToString() == "")
{
LblTitle.Text = "购物车中无任何物品";
BtnMove.Visible = false;
BtnClear.Visible = false;
HlShow.Text = "继续购物";
HlShow.NavigateUrl = "default.aspx";
HlResult.Visible = false;
CBlist.Visible = false;
}
else
{
CBlist.DataSource = buylist;
CBlist.DataBind();
}
}
for (int intIndex = 0; intIndex < CBlist.Items.Count; intIndex++)
{
if (this.CBlist.Items[intIndex].Selected)
{
CBlist.Items.RemoveAt(intIndex);
}
}
{
if (!CBlist.Items[i].Selected)
{
CBlist.Items.Remove(CBlist.Items[i); //直接移除
}
}
你的Session["Buy"]都是增加的,只要你有选择的,就会有值,你的这个逻辑有问题,正常情况下,你要移除,一般会,从Session中的字符串中,或者列表中删除对应的值,而且购物车,不建议使用Session,Session是服务器端会话,服务器重新,或者用户关闭窗体,都有可能Session丢失,要用购物车就应该是客户端会话,cookie