我想在我的页面上创建一个超链接来导出我的模型,但我不想为我需要导出的每个模型编写一个方法。我想最终得到一种可以将模型作为其参数之一并在该模型上执行导出逻辑的方法。有没有一种方法可以将发送到视图的模型传递回控制器操作?
编辑:
我有以下控制器动作-
public ViewResult PenDaily(Nullable<DateTime> startDate = null, Nullable<DateTime> endDate = null, string listName = "")
{
//Removed code for brevity/clarity
PenDailyViewModel penDailyView = new PenDailyViewModel();
penDailyView.startDate = startDate;
penDailyView.endDate = endDate;
penDailyView.listNames = GetLists(m_db);
penDailyView.penDaily = GeneratePenDaily(m_db, listName, startDate, endDate);
penDailyView.penSummary = GeneratePenSummary(m_db, startDate, endDate, "").Where(a => a.listName == listName);
return View(penDailyView);
}
PenDailyViewModel 是我传递给我的 Razor 视图的模型对象。PenDaily 和 PenSummary 都是 IQueryable 对象,在结果页面上的表中使用。PenDaily 是主要数据集,PenSummary 用于表格页脚中的总行。
我想获取这组数据并将其导出到文件中。我有一个为此编写的函数,但我不知道如何从我的页面中使用它。我想进行设置,以便当用户单击超链接时,系统会提示他们保存导出。
如果有帮助,我的 Razor 观点:
@model WebTools.Models.PenDailyViewModel
<table>
<thead>Header Stuff</thead>
<tbody>
@foreach (var item in Model.penDaily)
{
//Generate table body
}
</tbody>
<tfoot>
@foreach (var item in Model.penSummary)
{
//Generate table footer
}
</tfoot>
</table>