Asp.net mvc 如何序列化IEnumerable for ajax post中的每个项
我有一个显示Asp.net mvc 如何序列化IEnumerable for ajax post中的每个项,asp.net-mvc,asp.net-mvc-4,Asp.net Mvc,Asp.net Mvc 4,我有一个显示IEnumerable的局部视图 \u 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">
IEnumerable
的局部视图
\u 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>
}
但我不确定在呈现html的foreach循环中,尤其是在PartialView
中,这将如何工作
因此,需要明确的是,当用户单击“添加电影”ActionLink
时,我希望通过ajax将相应电影的序列化Movie
类发送到我的控制器
我的问题是
有没有更好的方法来序列化每部电影并将其附加到各自的主播中?我知道有
data-
html5属性,但我认为它们只允许字符串值,不允许json对象。我也知道我可以使用jQuery的.data()
函数,但我正在努力思考如何从PartialView运行它,特别是因为\u MoviePartial.cshtml
呈现的html可以通过ajax从控制器返回。我的首选是返回一个JSON对象作为带有两个属性的响应;HtmlString和数据。HtmlString可能包含呈现的部分视图,数据可能包含请求的序列化对象
我发现使用JSON非常容易,然后尝试返回带有嵌入式JSON对象的HTML。这样的框架会让您的生活更加轻松
基本上,你会:
JSON.Encode(Model)将所有电影数据作为JSON数组加载代码>
<script type="text/javascript">
var obj = @Html.Raw(Json.Encode(movie));
</script>