不,您不能像这样在操作链接中传递整个视图模型。您可以仅传递id
此模型的 ,然后使用它id
从您最初检索它的任何位置检索实际模型:
@Ajax.ActionLink(
"(Export to Excel)",
"ExportCsv",
"SurveyResponse",
new { id = Model.Id },
new AjaxOptions { HttpMethod = "POST" }
)
作为替代方案,您可以将模型序列化为 javascript 文字,然后使用 AJAX 请求将其作为 JSON 数据发送:
@Html.ActionLink(
"(Export to Excel)",
"ExportCsv",
"SurveyResponse",
null,
new { @class = "exportCsv" }
)
<script type="text/javascript">
$('.exportCsv').click(function() {
var model = @Html.Raw(Json.Encode(Model));
$.ajax({
url: this.href,
type: 'POST',
contentType: 'application/json; charset=utf-8',
data: JSON.stringify(model),
success: function(result) {
}
});
return false;
});
</script>