我有大量数据,我的用户可以通过各种选项进行过滤。我想将这组数据导出为CSV格式,但不确定如何将该项目发送到我的控制器操作。
index.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...
}
我做错了什么?
答案 0 :(得分:0)
在我看来,它不会那样工作。我建议将List保存在Session或TempData中:
Session["PeopleList"] = list;
或
TempData["PeopleList"] = list;
这样您就可以在请求之间访问它。请记住 - Session中的存储是针对会话持续时间的。除非您使用Keep方法,否则TempData中的存储仅在下一个请求之前存在。