我正在为MVC模型编写一个强类型的编辑表单,其中包含一组子模型(Document包含许多LocalizedDocuments)。每个文档可以包含0,1或许多本地化文档,每个本地化文档都有一个输入类型=“文件”,以允许用户上载该文件的新版本。
要呈现每个LocalizedDocument的编辑字段,我有一个包含LocalizedDocument字段的强类型部分视图,然后在我的编辑视图中使用Html.EditorFor(model => model.Document.LocalizedDocuments)
。
发布表单时,我的每个LocalizedDocument字段都以LocalizedDocument [i]为前缀,如预期的那样。但是,我怎样才能获得它,因此文件输入也带有LocalizedDocument [i]的前缀,所以我可以将文件上传与相应的LocalizedDocument联系起来?
答案 0 :(得分:0)
告诉我,如果我错误地解释这个问题。您是否需要上传属于父表的文档,或者在上传多个文档后需要为这些文档分配特定的ID?
我将使用Uploadify。
您必须知道LocalizedDocument的ID。您也只能一次上传1个。 (每个文件都是一个单独的服务器调用)
首先,您必须将LocalizedDocument的Id分配给将发送到服务器的数据。
<script type="text/javascript">
var auth = "<%: Request.Cookies[FormsAuthentication.FormsCookieName]==null ? string.Empty : Request.Cookies[FormsAuthentication.FormsCookieName].Value %>";
var ASPSESSID = "<%: Session.SessionID %>";
$(document).ready(function () {
$('#file_upload').uploadify({
'uploader': '/Content/uploadify.swf',
'script': '<%: Url.Action("Upload", "Documents") %>',
'cancelImg': '/Content/Images/cancel.png',
'folder': '/uploads',
'scriptData': { ASPSESSID: ASPSESSID, AUTHID: auth, DocumentId: <%: Model.LocalizedDocumentId %>},
'auto':true,
'multi': true
});
});
</script>
控制器:
public ActionResult InsertImages(HttpPostedFileBase FileData, int DocId){ }