我正在使用这个插件:https://github.com/blueimp/jQuery-File-Upload/wiki,问题是当我点击上传并给出按钮保存它调用一个控制器,到目前为止很好但是当他给出点击按钮需要来一些其他属性,我没有把这些属性与文件一起带来。 遵循代码: /查看
$("#anexoUpload").fileupload({
dataType: 'json',
add: function (e, data) {
data.context = $('#salvarAnexo')
.on('click', function () {
data.submit();
$.ajax({
url: "@Url.Action("AdicionarAnexo")",
type: "POST",
cache: false
}).done(function (data) {
});
data.context = $('<p/>').text('Uploading...').appendTo(document.body);
data.submit();
});
},
done: function (e, data) {
alert('Arquivo salvo com sucesso!');
$(".bar").attr("style", "width:0%;")
}
<li id="anexo">
<span>Anexo</span>
<input type="file" name="files[]" id="anexoUpload" />
<div id="progress">
<button id="salvarAnexo">Salvar Anexo</button>
<div class="bar" style="width: 0%;"></div>
</div>
</li>
});
我认为问题出在click fileupload中的调用函数中。 我使用这个插件不需要在页面上回发并仅输入yes,当你插入时还需要两个id用于插入数据库并返回ajax以显示附件列表。
//控制器
[HttpPost]
public ActionResult AdicionarAnexo()
{
var lista = new List<UploadFilesResult>();
foreach (string file in Request.Files)
{
HttpPostedFileBase hpf = Request.Files[file] as HttpPostedFileBase;
}
}
由于
答案 0 :(得分:0)
您可以使用数据属性
通过ajax调用传递数据$.ajax({
url: "@Url.Action("AdicionarAnexo")",
type: "POST",
data: { id1: "id1", id2: "id2" },
cache: false
})
然后在您的控制器上
public ActionResult AdicionarAnexo(string id1, string id2)
您可以将它们命名为您想要的,只需确保视图上的名称与控制器上的名称完全匹配