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

ListView控件 新旧数据如何比较?

ListView控件后台绑定的数据,没有用数据源控件
在位编辑更新数据时,后台做了判断,如果数据库中存在,就不提交。
但遇到这样的为题:
1.点开编辑按钮,但没有做任何改动,提交也提交不了。
2.只改动其中的radiobutton ,其他值不变,还是提交不了,有重复数据。
如何解决啊!求大侠赐教。
--------------------编程问答-------------------- 先确认是否触发了更新代码 --------------------编程问答-------------------- 本人刚学编程,代码都比较笨拙,请大家不吝赐教。
更新代码可以触发:
 protected void ListViewGS_ItemUpdating(object sender, ListViewUpdateEventArgs e)
    {
        RadioButtonList rbl = (RadioButtonList)ListViewGS.Items[e.ItemIndex].FindControl("rblistState");
        rbl.Enabled = true;

        string GSnum = ((TextBox)ListViewGS.Items[e.ItemIndex].FindControl("tbxGSNum")).Text;
        string GSname = ((TextBox)ListViewGS.Items[e.ItemIndex].FindControl("tbxGSName")).Text;
        string GSshort = ((TextBox)ListViewGS.Items[e.ItemIndex].FindControl("tbxGSShort")).Text;
        int State = Convert.ToInt32(rbl.SelectedValue);
        int GSBH = 0;
        Label1.Visible = true;
        if (string.IsNullOrEmpty(GSnum))
        {
            Label1.Text = "提示:公司编号不能为空,返回原数据!";
            ListViewGS.EditIndex = -1;
            lvGS_Data();
            return;
        }
        if (!int.TryParse(GSnum, out GSBH))
        {
            Label1.Text = "提示:公司编号输入有误,返回原数据!";
            ListViewGS.EditIndex = -1;
            lvGS_Data();
            return;
        }
        if (string.IsNullOrEmpty(GSname))
        //(db.User_Zzmm.Any(c => c.政治面貌 == str))
        {
            Label1.Text = "提示:公司名称不能为空,返回原数据!";
            ListViewGS.EditIndex = -1;
            lvGS_Data();
            return;
        }
        if (string.IsNullOrEmpty(GSshort))
        {
            Label1.Text = "提示:公司简写不能为空,返回原数据!";
            ListViewGS.EditIndex = -1;
            lvGS_Data();
            return;
        }
        if (db.GongSi_Type.Any(c => c.公司编号 == Convert.ToInt32(GSnum)))
        {
            Label1.Text = "提示:公司编号已存在,返回原数据!";
            ListViewGS.EditIndex = -1;
            lvGS_Data();
            return;
        }
        if (db.GongSi_Type.Any(c => c.公司名称 == GSname))
        {
            Label1.Text = "提示:公司名称已存在,返回原数据!";
            ListViewGS.EditIndex = -1;
            lvGS_Data();
            return;
        }
        if (db.GongSi_Type.Any(c => c.公司简写 == GSshort))
        {
            Label1.Text = "提示:公司简写已存在,返回原数据!";
            ListViewGS.EditIndex = -1;
            lvGS_Data();
            return;
        }
        int keyID = Convert.ToInt32(ListViewGS.DataKeys[e.ItemIndex].Value);
        GongSi_Type table = db.GongSi_Type.First(c => c.ID == keyID);
        table.公司编号 = Convert.ToInt32(GSnum);
        table.公司名称 = GSname;
        table.公司简写 = GSshort;
        table.状态 = State;
        db.SubmitChanges();
        ListViewGS.EditIndex = -1;
        lvGS_Data();
        Label1.Text = "提示:更新成功!";
        
        
    } --------------------编程问答-------------------- 有没有办法检测,没有做任何改动的内容,就关闭更新项;

如果只更新其中一个值,其他值不变,怎么判断。。。。 --------------------编程问答-------------------- 更新代码有触发,如果没有做任务改动,就返回,但是label值为:存在重复;

如果只改动其中一项,也是返回,label值还是存在重复。。。。

请大家教我怎么改改这段代码。。。

补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,