将模型发送到控制器动作以导出为csv
本文关键字:csv 模型 控制器 | 更新日期: 2023-09-27 18:02:36
我有一个大的数据集,我的用户可以通过各种选项来筛选。我想将这组数据导出为CSV,但不确定如何将项目发送到我的控制器操作。
在我的索引下面的代码。cshtml文件:
@model Project.ViewModels.PeopleIndexViewModel
<a href="@Url.Action("Export", "Person", new { List = Model.People.ToList()})" title="Export to CSV">
<img src="/content/images/excel.gif" />
</a>
结果是空的,当我点击控制器:
public ActionResult Export(List<Person> List)
{
// List is empty here...
}
我做错了什么?
在我看来,这是行不通的。我建议在Session或TempData中保留List:
Session["PeopleList"] = list;
或
TempData["PeopleList"] = list;
这样可以在请求之间访问它。记住,会话中的存储是用于会话持续时间的。除非你使用Keep方法,否则在TempData中的存储只保留到下一个请求。