我有一个带有ObjectDataSource的GridView。我想让用户创建几个对象,然后一次性保存它们。
背景:我想为食谱创建一个编辑器。食谱具有基本属性(例如名称和来源),并且具有成分(例如 100 克黄油) 我希望用户设置食谱的所有属性并让他在 (!!) 将其保存到数据库之前定义其成分。还必须可以从列表中删除成分。首先保存配方,然后定义成分不是一种选择。
我的问题: 在将成分保存到数据库之前,我应该将它们保存在哪里?
这是我发现的:
- ViewState 不是一个选项,因为 ObectDataSource 的 GetData 方法是静态的,因此无法访问视图状态。
- 会话不是一个选项,因为用户应该能够同时在同一浏览器的不同选项卡中使用同一页面。
- 上下文不是一个选项,因为它不能在回调中存活。
- 使用 LinqDataSource 代替 ObectDataSource 不起作用,因为如果数据源不是 linq 数据上下文,它不支持删除操作。
- 在 QueryString 中使用唯一 ID(以识别正确的会话对象)将是一种解决方法,但它会弄乱 URL。
我已经在网上搜索了一段时间,并且尝试了很多东西但没有成功。
非常感谢您的任何帮助和任何建议!!