如何将整个模型对象传递给mvc4控制器?

时间:2016-04-19 15:07:30

标签: c# .net asp.net-mvc-4 razor model

我有观察表。我想导出到excel按钮。我想将整个模型对象传递给Controller。我试过这样的:

我的观点:

@model Project.Models.Results
 ...

@Html.ActionLink("Download", "DownloadAction", Model)

我的控制员:

public ActionResult DownloadAction(Results model){...}

当我这样尝试时,模型具有空值的属性。

有人可以帮助我将模型传递给控制器​​吗?

2 个答案:

答案 0 :(得分:1)

如果你有简单的模型,你的代码应该可行。但是如果你有复杂的模型,你就不能用ActionLink来完成它。

您可以传递的唯一模型是具有如下简单属性的模型:

public class ViewModel
{
   public int Id { get; set; }
   public string Name { get; set; }
   //etc...
}

答案 1 :(得分:0)

将控制器模型传递给视图的方法很少。您可以使用TempData,ViewData或ViewBag,也可以在视图顶部的视图中添加模型

@model Your_Model

并且可以访问foreach循环中的值

@foreach(var item in Model)
{
//your data in item.something
}

OR 你可以将数据传递给viewbag并在视图上访问..

public ActionResult actionName()
{
ViewBag.ModelName=Result;
//Result in viewbag now
}

观看视频

@foreach(var item in ViewBag.ModelName)
{
    //your data in item.something
}