【发布时间】:2013-06-20 06:41:46
【问题描述】:
我正在尝试使用 ASP.NET MVC 部分视图上传文件。
**Partial view:**
@using (Html.BeginForm("FileUpload", "Item", FormMethod.Post, new { enctype = "multipart/form-data", id="frmUp" }))
{
<input type="file" name="file" />
<input type="submit" value="Upload" />
}
主窗体:
<div id="uploadDiv" class="divSettings" align="left">
@Html.Partial("FileUpload")
</div>
在我的主要表单中,我有以下代码。
$("#frmUp").submit(function () {
var serviceURL = '/Item/FileUpload/';
var id = $("#selID").val();
alert(id);
$.ajax({
type: "POST",
url: serviceURL,
data: { id: id },
dataType: "json",
success: successFunc,
error: errorFunc
});
function successFunc(data, status) {
}
function errorFunc() {
}
});
控制器:
[HttpPost]
public ActionResult FileUpload(HttpPostedFileBase file, string id, FormCollection formCollection)
{
//here id parameter is null and i get the file parameter values
return PartialView();
}
在我的控制器中,id 参数始终为空。上面的代码有什么问题?
【问题讨论】:
-
您不能使用 ajax 发布文件。您应该使用 ajax 文件上传插件...
-
@ChamikaSandamal 它只是一个具有静态值的隐藏字段。我没有发布代码
-
你是否在同一个表单中定义了selID?
-
Jquery 代码在哪里。如果它在外面,那么它将无法正常工作。在表单中定义 selID 然后它就会起作用
标签: asp.net asp.net-mvc asp.net-mvc-3 jquery