繁体   English   中英

将完整的模型从视图传递回控制器

[英]passing complete model from view back to controller

有没有办法将整个模型从视图传递回控制器(请不要使用JSON)? 我的模型是一个列表,例如List<ExmapleClass>

我希望能够将其传递回控制器,进行排序,然后将其传递回要显示的视图,这样我就不必回到数据库来获取原始数据。

我猜想在构造函数中将列表作为(类)成员变量可以消除来回传递模型的需要,但是我还有其他选择吗?

从概念上讲,在为单个请求提供服务时,从控制器到视图的通信是一种方法。 控制器决定要渲染的视图,将其传递给模型,执行再也不会传递回控制器。

您可以从视图内执行子操作,这可能会实现与您所追求的类似的功能,但根据您的问题尚不清楚。

如果您正在谈论与用户交互过程中发生的通信,那么您可以使用TempData实现类似的操作,其中视图将信息存储在TempData中,供下一个执行的控制器使用。

如果您的关注点是基于必须重复查询数据源而获得的性能,我强烈建议您考虑如何在服务或数据访问层中缓存此数据,而不要尝试使用视图/控制器交互作为缓存的方式。

可以使用隐藏字段来完成,就像我在这里发布的那样: 在提交单击时将多个记录保存到MVC4中的不同实体中。 无法从Controller的视图中获取值 ,但是如果您不需要在视图中获取这些数据,则缓存是更好的解决方案。

将所有数据发送回服务器将占用大量带宽。 我认为使用JQuery / javascript并直接在客户端对数据进行排序会更加轻松快捷。 如果必须将数据发送到服务器端,则可以使用XML,但是不确定是否可以通过使用XML获得任何好处。

以下是一些客户端分类器: http : //tablesorter.com/docs/ http://www.sendesignz.com/index.php/jquery/76-how-to-sort-items-using-jquery

暂无
暂无

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

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