繁体   English   中英

MVCContrib网格并使用模型绑定器回发

[英]MVCContrib grid and posting back with model binder

我的MVCContrib网格的内容来自强类型视图上的模型。 制作帖子时,网格的内容在返回控制器时不在模型对象中。 我可以看到这是因为网格呈现为单元格中包含文本的表格。 有什么我可以这样做,以便当帖子发生时,我发送到网格的列表数据回到帖子中?

您可以使用TempData来保留此信息服务器端。 TempData中的信息将持续一个请求。 不过,我真的不喜欢这个选项。

你能否从db重新填充你的模型? 如果用户没有更改信息,为什么需要回发所有相同的未更改信息? 从你之前得到的地方再次抓住它。

如果要在将模型序列化到网格中时重新创建模型,则必须在网格中(或者可能在网格外部)中嵌入正确命名的表单元素,并且与包含发回的网格的形式相同。您希望重新创建模型的操作。

虽然这是可行的,但你实际上是在重新创建__VIEWSTATE,这使得使用MVC失去了很多乐趣(阅读“它是一个丑陋的黑客,你应该卸载你的IDE甚至想到它”)。

如果没有更好地理解你想要解决的场景,很难指出你正确的方向。 在这些情况下通常的工作流程是获得模型

  1. 生成页面
  2. 在页面上的表单中记录模型的任何更改
  3. 将更改提交给操作
  4. 再次获得模型
  5. 使用TryUpdate将帖子中的更改保留到模型中

如果你遇到性能问题(你已经证明你有一个性能问题吗?你没有过早优化?),解决它们发生的地方(即数据访问中的缓存),而不是以真正的方式弯曲MVC不应该。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM