いいえ、アクション リンクでこのようにビュー モデル全体を渡すことはできません。このモデルののみを渡し、最初に取得した場所から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>