【发布时间】:2011-11-03 12:57:03
【问题描述】:
我有一个使用 ASP.NET 动态数据和实体框架 4.1(代码优先)生成的产品管理网站。
我已经开始创建一种批量编辑行的方法。我有我希望能够批量编辑的列的编辑控件(我创建了一个名为 EditableInBulk 的新属性,我用它来装饰我的属性)。我还在 GridView 中添加了一个新列,其中包含一个复选框,指示是否应该批量编辑该行。
现在剩下的事情是我需要以编程方式更新我用“编辑”检查过的行。
这是我用来查找已检查行的代码,缺少的是实际更新数据并持久化。
// Find all items that will be edited
foreach (GridViewRow row in GridView1.Rows)
{
if (row.RowType != DataControlRowType.DataRow)
continue;
// Fetch the item index of the rows that has "Edit" checked
var editMe = row.Cells[1].Controls.OfType<CheckBox>().Any(ch => ch.Checked);
if (editMe)
{
// Edit the fields in the row and persist
}
}
我应该能够在 GridView 控件中使用 UpdateRow 方法。但在此之前,我需要更新行内的字段。
有没有人知道我是如何做到这一点的?
问题还在于它需要是通用的。应该适用于具有我用自定义属性“EditableInBulk”装饰的列的每个实体类型。所以不可能有任何实体特定的持续存在。
我已经开始修改动态数据项目自带的 List.aspx 文件了。
【问题讨论】:
标签: c# entity-framework-4.1 dynamic-data