【问题标题】:Pass Model from View To Controller Using ActionLink使用 ActionLink 将模型从视图传递到控制器
【发布时间】:2014-07-16 10:38:56
【问题描述】:
使用 actionLink 将模型数据从 View 传递到 Controller 的最佳方式是什么。实际上我的操作链接是下载链接,我想传递报告模型,因为它包含数据表信息。
private void DownloadReport(ReportModel rptModel)
{
// want to recieve report model here.
// to do so.
}
【问题讨论】:
标签:
c#
asp.net-mvc-3
html.actionlink
【解决方案1】:
ActionLink 最终只是一个锚元素。
改为使用带有提交表单的锚元素的表单。
相应的控制器方法将接受您的ReportModel。
【解决方案2】:
您也可以使用 Ajax 发布方法。
例如在你看来:-
<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>
无论您从视图中传递什么,都将在您的操作方法中获得。