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