Ale*_*lex 2 c# asp.net-mvc jquery dropzone.js
我使用Dropzone上传图像.我需要通过它发送一些其他值(一些文本值).在我的场景中,我需要将产品名称发送到控制器(请参阅代码中的一些注释)
按钮点击时,图像成功进入控制器侧.
HTML代码
<input type="text" name="text" id="txtprod" class="form-control" />
<div id="dropzonffe" style="width: 55%; margin-left: 25%">
<form action="~/Admin/SaveProducts" class="dropzone" id="dropzoneJsForm"></form>
</div>
Run Code Online (Sandbox Code Playgroud)
Jquery代码
<script type="text/javascript">
Dropzone.options.dropzoneJsForm = {
autoProcessQueue: false,
init: function () {
var submitButton = document.querySelector("#btnSubmit");
var myDropzone = this;
submitButton.addEventListener("click", function () {
var ProductName = $("#txtprod").val();//<-- I want to send this Productname to the controller also.
myDropzone.processQueue();
});
}
};
</script>
Run Code Online (Sandbox Code Playgroud)
我的控制器
public ActionResult SaveProducts()
{
bool isSavedSuccessfully = false;
foreach (string fileName in Request.Files)
{
HttpPostedFileBase file = Request.Files[fileName];
isSavedSuccessfully = true;
}
return Json(new { isSavedSuccessfully, JsonRequestBehavior.AllowGet });
}
Run Code Online (Sandbox Code Playgroud)
我找到了我的问题的解决方案.我已经粘贴它以备将来的帮助.在DropZone中有一个叫做的事件.sending你可以通过附加到表单数据传递其他参数.
Dropzone.options.dropzoneJsForm = {
autoProcessQueue: false,
init: function () {
var submitButton = document.querySelector("#btnSubmit");
var myDropzone = this;
this.on("sending", function (file, xhr, formData) {
formData.append("ProductName", $("#txtprod").val());
});
submitButton.addEventListener("click", function () {
myDropzone.processQueue();
});
}
};
Run Code Online (Sandbox Code Playgroud)
在服务器端访问它
public ActionResult SaveProducts(string ProductName)
{
}
Run Code Online (Sandbox Code Playgroud)