这是发生的事情:
- 局部视图 A 和 B 显示相同的模型
- 视图 A 通过 Ajax 更改数据(使用
Ajax.BeginForm
) - View A 重新渲染自己(控制器从数据库中获取更新的模型)
- 现在我们也必须重新渲染视图 B,因为数据已经改变了,对吧?
- 我们再次从数据库中获取更新的模型并重新渲染视图 B
如何防止重新查询数据库?也许在会话中缓存模型实例?
这样做的“正确”方法是什么?
<!--works great when the page is rendered
via postback but what about Ajax?--!>
<div>
@Html.Partial(@ViewA", MyModelInstance)
@Html.Partial(@ViewB", MyModelInstance)
</div>