【问题标题】:How to have a form data-bound to an object with losing its values on postback如何将表单数据绑定到对象并在回发时丢失其值
【发布时间】:2009-07-12 05:47:48
【问题描述】:

我使用 ADO.NET Entity-Framework,我有一个数据绑定到代码文件中的实体变量的页面。

item的层次结构是Person.Orders 我希望用户向此 Person 实体 (Person.Orders.Add(order)) 添加/删除订单, 问题是,虽然实体还没有保存,但一旦用户回帖,变量就会被处理掉,这个人和他的所有订单都消失了。 将实体/变量(复杂的)保存在缓存/内存/状态或其他任何东西(不保存在商店中,我只想在用户单击一般接受更改 btn 时才将项目保存在商店中,同时应该是一个好的做法我想在空中建立层次结构)?

如果我不够清楚,我会在明天提供更多细节,请接受我的道歉。

【问题讨论】:

  • 我的意思是说,我在代码隐藏中具有公开实体的属性,所有控件都绑定到它的子级。

标签: entity-framework caching postback session-variables savechanges


【解决方案1】:

使用会话状态来保持您的对象层次结构,同时您期望客户端上的多个操作并在每次视图重新加载时加载您的实体。这样,您将反映用户更改并将它们保存在内存中,直到触发最终操作,此时您可能会保存整个实体层次结构。

但如果您使用的是 inproc 会话,请注意 appdomain 在用户工作过程中被卸载。

【讨论】:

  • 这对我来说听起来很公平。简而言之,这是如何做到的?提前致谢!
  • 简而言之……好吧。您的页面 URL(包括查询字符串)的组合应该告诉您操作是什么,并且应该为您提供某种用于获取实体的键(例如 addOrder.aspx?person=xxx)。因此,您可以通过该 xxx 键获取先前存储在会话中的人。
  • 我在问如何在技术上将对象存储在会话中,会不会导致性能问题,或者每个人都这样做?
  • 好的,所以你的问题是如何使用会话或是否应该使用它?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-10-24
  • 2019-03-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多