0

我有一个包含搜索参数和搜索结果的 SearchModel。这是从我的 SearchController 传递到我的视图。在视图中,搜索参数填充到搜索表单中,搜索结果显示为表格。

在视图中,我有一个链接,应该生成一个包含表格的 excel 文件。起初,我试图使用不同的操作名称将模型传递回 SearchController。但是,传递的数据 (SearchModel) 为空。

在四处搜索之后,似乎我不应该将数据从视图传递到控制器。

这样做的正确方法是什么?我不想再次查询数据库并生成搜索结果。数据已在传递到视图的索引操作中生成。有没有办法找回这个?

4

1 回答 1

1

最好和“正确”的方法是再次查询数据库。一旦生成了原始视图,所有共同生成它的组件(控制器、存储库等)都已失效。它们不再存在。您可以将数据保存在服务器的内存中,但通常不建议这样做,除非相同的数据可能会经常重复使用。据推测,并非所有用户都希望导出数据,因此您将无缘无故地大量存储数据。

但是,如果它有可能被重用,则可以使用缓存。http://www.asp.net/web-pages/tutorials/performance-and-traffic/15-caching-to-improve-the-performance-of-your-website

于 2013-09-09T04:52:22.410 回答