我有一个显示IEnumerable<Movie>
.
_MoviePartial.cshtml
@foreach(var movie in Model) {
<div class="content">
<span class="image"><img src="@movie.Posters.Profile" alt="@movie.Title"/></span>
<span class="title">@movie.Title</span>
<div class="score`">
<span class="critics-score">@movie.Ratings.CriticsScore</span>
<span class="audience-score">@movie.Ratings.AudienceScore</span>
</div>
@Html.ActionLink("Add Movie", "Add", "MyMovies")
</div>
}
当用户单击“添加电影”ActionLink 时,我将发布一个 ajax 帖子以将所选电影添加到用户集合中。我的问题是我想将整个选定的Movie
类发送到“添加”操作,但不确定如何序列化每部电影,因为整个Movie
类没有在 PartialView 中呈现,只有几个属性。我知道我可以序列化这样的东西......
<script type="text/javascript">
var obj = @Html.Raw(Json.Encode(movie));
</script>
但我不确定这将如何在呈现 html 的 foreach 循环中工作,尤其是在PartialView
.
因此,为了清楚起见,当用户单击“添加电影”时,ActionLink
我想Movie
通过 ajax 将相应电影的序列化类发送到我的控制器。
我的问题是...
有没有更好的方法来序列化每部电影并将其附加到各自的锚点?我知道有data-
html5 属性,但我认为它们只允许字符串值,而不是 json 对象。我也知道我可以使用 jQuery 的.data()
函数,但我正在努力思考如何让它从 PartialView 运行,特别是因为渲染的 html_MoviePartial.cshtml
可能通过 ajax 从控制器返回。