query = (from s in dt.AsEnumerable() where s["YsKinds"].ToString().Contains(hd.Value) select s).First();
TempDR = query;//复制给新行
TempDR["yskinds"] = dropzjsubject.Text; TempDR["bzr"] = dropzjbzr.Text;//给新行赋值
UpdateRows.Add(TempDR);//Ilist添加新行
foreach (DataRow ds in dt.Rows)
{
Response.Write(ds["YsKinds"].ToString() + " " + ds["bzr"].ToString() + "<br/>");//结果居然是新行赋值后的值?难道dr也驻留的?
}
1 回答
犯罪嫌疑人X
TA贡献2080条经验 获得超4个赞
TempDR = query;//复制给新行
这不是复制,这是赋值,对于引用类型,是指定引用,也就是说 TempDR 和 query 指向同一个 DataRow.
你应该用 DataRow.Clone() ,克隆一个新的 DataRow.
- 1 回答
- 0 关注
- 643 浏览
添加回答
举报
0/150
提交
取消