【发布时间】:2014-06-11 05:16:38
【问题描述】:
如何在 ASP.NET MVC 的提交表单上传递部分视图中的数据。
@using (Html.BeginForm("Edit", "BlogPost", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
@Html.AntiForgeryToken()
@Html.ValidationSummary(true)
................
@Html.Partial("PostImagesForPost",Model.PostImages)
}
PostImagesForPost - 局部视图:
@model IEnumerable<Blog.Models.PostImage>
<script type="text/javascript" src="~/Scripts/jquery.zoom.min.js"></script>
<div>
@{
List<Blog.Models.PostImage> images = Model.ToList();
<ul class="images">
@foreach (var img in images)
{
string parameterValue_small = "~/BlogPhotos/120/" + img.Photo.ToString();
string parameterValue_big = "~/BlogPhotos/600/" + img.Photo.ToString();
<li>
<div id="jquery-image-zoom-example">
<span data-postid="@img.ID" data-delete="true" class="deletespan"></span>
<a href="@Url.Content(parameterValue_big)">
<img src="@Url.Content(parameterValue_small)" data-postid="@img.ID" class="zm" onclick="$('.jquery-image-zoom img').click()" />
</a>
<input type="checkbox" checked="checked" name="selectedImagesForDelete" style="display:none;" data-postid="@img.ID" value="@img.ID" />
</div>
</li>
}
</ul>
}
在提交函数中,参数 selectedImagesForDelete 为空。
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Edit(Post post,string[] selectedImagesForDelete)
{...........}
【问题讨论】:
-
确保在浏览器视图源中,复选框已正确绑定,如果正确,请尝试使用 Request["selectedImagesForDelete"] 获取数组而不是参数
标签: asp.net asp.net-mvc asp.net-mvc-partialview actionresult