使用ActionLink将模型从视图传递到控制器

时间:2014-07-16 10:38:57

标签: c# asp.net-mvc-3 html.actionlink

使用actionLink将模型数据从View传递到Controller的最佳方法是什么?实际上我的动作链接是下载链接,我想传递报告模型,因为它包含数据信息。

   private void DownloadReport(ReportModel rptModel)
   {
       // want to recieve report model here.
     // to do so.
   }

2 个答案:

答案 0 :(得分:0)

ActionLink最终只是一个锚元素。

相反,请使用带有提交表单的锚元素的表单。

相应的控制器方法将接受您的ReportModel

答案 1 :(得分:0)

你可以使用Ajax post方法。

例如,在您看来: -

<script type="text/javascript">
var rptModel = {
    val1: "val1",
    ....
};

$.ajax({
    url: '/NameOfController/DownloadReport,
    type: 'POST',
    data: JSON.stringify(rptModel),
    contentType: 'application/json; charset=utf-8',
    success: function (data.success) {
        alert(data);
    },
    error: function () {
        alert("error");
    }
});
</script>

无论你从视图中传递什么,你都会得到你的行动方法。