将模型发送到控制器操作以导出为csv

时间:2014-05-10 11:22:56

标签: c# asp.net entity-framework

我有大量数据,我的用户可以通过各种选项进行过滤。我想将这组数据导出为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...
}

我做错了什么?

1 个答案:

答案 0 :(得分:0)

在我看来,它不会那样工作。我建议将List保存在Session或TempData中:

Session["PeopleList"] = list;

TempData["PeopleList"] = list;

这样您就可以在请求之间访问它。请记住 - Session中的存储是针对会话持续时间的。除非您使用Keep方法,否则TempData中的存储仅在下一个请求之前存在。