1

使用 EntityFramework,我创建了一个页面,其中包含许多DetailsView控件FormView来尝试捕获调查信息(100% 插入;不更新或删除)以保存到 sql server。涉及的表/实体包括调查、问题、响应者、响应、答案和几个类型查找。(调查有一个问题列表,由受访者完成。受访者的回答有一个答案列表。一个答案回答一个问题。)希望一切都有意义。

我不想让用户单击每个 DetailsView 或 FormView 中的自动生成的插入按钮,我想提供一个提交按钮来插入所有新数据,这是我目前 - 并且未成功 - 尝试编码的内容。本质上,我正在寻找一种方法来调用由每个 *Form 自动创建的插入按钮调用的命令。

我想办法做到这一点是循环通过 DetailsView 和 FormView 控件,在进入 ObjectContext 时保存(附加?)实体,然后调用 SaveChanges() 将它们一次全部插入到数据库中。但是,我在访问新实体时遇到问题。我似乎无法通过 FormView/DetailsView 本身访问它们,而且我似乎无法访问 *Views 中的 BoundFields。

我试图将 FormViews 嵌套在 FormViews 中,因为表明它是可能的,但我得到了错误Type 'System.Web.UI.WebControls.FormView' does not have a public property named 'FormView'.

我即将开始研究涉及与s 绑定的ObjectContext和/或s 的解决方案,但在我看来,如果我从那一侧开始,那么我不妨使用普通es 并循环它们在代码中创建所有实体内容,而不是让数据绑定功能发挥作用。EntityDataSourceDetailsViewTextBox

有人可以指出我如何运行每个 *Form 的插入按钮命令以将所有新创建的实体保存在每个 DetailsView/FormView 中,或者让我知道是否应该开始查看另一个区域(例如 ObjectContext 或 EntityDataSource)?

非常感谢
mcalex

4

1 回答 1

1

我是个白痴。

我只需要调用 *Form 的InsertItem方法。

不知道为什么我第一次阅读 API 时没有意识到。

于 2012-08-28T07:14:20.487 回答