当前位置:编程学习 > C#/ASP.NET >>

关于DATALIST循环取值的问题

 protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
    {
        for (int i = 0; i < DataList1.Items.Count; i++)
        {
            CheckBox box  = (CheckBox)DataList1.Items[i].FindControl("CheckBox1") as CheckBox;
            int pssid = int.Parse(box.Attributes["rel"]);
         
            
            ProductDao p = new ProductDao();
            new_Product pr = new new_Product();

            Orders_Details ordd = new Orders_Details();
            Orders_DetailsBll orddBll = new Orders_DetailsBll();

            bool rest;
            if (box.Checked)
            {
                pr.Id = Convert.ToInt32(pssid);
                pr.Is_has = true;
                rest = p.UpdateHas(pr);
                ordd = orddBll.GetordersByid(pssid);
                ordd.Is_change = false;
                bool reslft = orddBll.Updateischange(ordd);
            }
            else
            {
                pr.Id = Convert.ToInt32(pssid);
                pr.Is_hot = false;
                rest = p.UpdateHas(pr);
                ordd = orddBll.GetordersByid(pssid);
                ordd.Is_change = true;
                bool reslft = orddBll.Updateischange(ordd);
            }
            MessageBox.Show(this.Page, "设置成功!");
            }
        }


这个是datalist嵌套的一个CheckBox,通过datalist循环获取进行更新  但是有些int pssid = int.Parse(box.Attributes["rel"]);或许到的会是相同的照成前面的更新的没效果!在这里希望大家给个提示 这么让pssid相同的直接跳出循环 也就是相同的pssid只让他更新一次 在这先谢了
--------------------编程问答-------------------- List<int>保持,if(!lst.Contains(pssid )){//更新} --------------------编程问答-------------------- 你逻辑不对吧!~就算有重复的也只能按最后的更新为准吧!~,。 --------------------编程问答--------------------
引用 2 楼 laowang134 的回复:
你逻辑不对吧!~就算有重复的也只能按最后的更新为准吧!~,。



嗯  问题就是出在这! 我要的就是如果重复的 怎么让他不再更新 --------------------编程问答--------------------
引用 1 楼 wuyq11 的回复:
List<int>保持,if(!lst.Contains(pssid )){//更新}



能说得详细点么 我是新手 有点不理解 --------------------编程问答--------------------
引用 4 楼 ilovecss520 的回复:
引用 1 楼 wuyq11 的回复:
List<int>保持,if(!lst.Contains(pssid )){//更新}



能说得详细点么 我是新手 有点不理解

int pssid = int.Parse(box.Attributes["rel"]);
这个值居然有相同的。。

先把你数据库中的pssid 取出放一个列表中

if(!list.Contains("pssid")) 如果如果数据库中不包含pssid 在进行操作

else
{
....
}
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,