1

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

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

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

4

3 回答 3

1

从概念上讲,在单个请求的服务中,从控制器到视图的通信是一种方式。控制器决定要渲染的视图,将模型传递给它,并且执行永远不会传回控制器。

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

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

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

于 2012-10-10T21:21:40.190 回答
0

它可以通过隐藏字段来完成,就像我在这里发布的那样:Saving multiple records on submit click into differententities in MVC4。没有从 Controller 的视图中获取值,但是如果您不需要视图上的这些数据,缓存是更好的解决方案。

于 2012-10-10T21:43:07.787 回答
0

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

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

于 2012-10-10T21:48:41.453 回答