将视图导出为ex​​cel

时间:2013-09-09 04:38:29

标签: .net razor view

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

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

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

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

1 个答案:

答案 0 :(得分:1)

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

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