商品报告查看:
@model PMEX.CSR.Models.ReportModel
@{
ViewBag.Title = "Commodity Report";
}
<div>
<table>
<tr>
<td>
@{
if (Model != null)
{
@Html.ActionLink("Download PDF Report", "DownloadReportPDF", Model);
}
}
</td>
</tr>
</table>
</div>
报告控制器cs文件:
public ActionResult DownloadReportPDF(ReportModel model)
{
// to do some stuff
return View("Commodity");
}
报告模型
public class ReportModel
{
public string testValue { get; set; }
public DataTable dt { get; set; }
public LikeFilterModel LikeFilterModelObj { get; set; }
// [Required]
// public string SearchText { get; set; }
public GridModels GridDataModel { get; set; }
/// <summary>
/// Represents that datagrid has rows in it.
/// </summary>
public bool isValue { get; set; }
}
我在视图中收到的模型
我通过actionlink在Controller上收到的模型。
正如您所看到的,我在控制器上收到的所有内容都是空的。请告诉我这里出了什么问题?
我想将相同的模型传递给我在View上收到的控制器。
答案 0 :(得分:1)
Html.ActionLink
期待routeValues
而不是您的对象模型。检查参考here。
...
答案 1 :(得分:0)
您无法以这种方式将数据传递给控制器,来自视图的任何数据都应该在查询字符串中进行POST或传递,例如。
if (Model != null)
{
@using (Html.BeginForm("DownloadPDFReport", FormMethod.Post))
{
@Html.HiddenFor(x => x.Property1)
@Html.HiddenFor(x => x.Property2)
...
<input type="submit" value="Download PDF Report" />
}
}