我创建了一个文件上载模式,它是从特定类的“编辑”页面启动的(例如“/ Case / Edit / 2”)。成功上传文件后(使用dropzone.js),我希望模式在成功时关闭success: function(){$("#myModal").modal.('hide')};
但是,当我成功上传文件时,模态仍保持打开状态。我的控制器以return Ok();
结尾怎么办?
CSHTML的相关部分如下:
<button class="btn btn-primary" onclick="AddEditFiles(0)">Add File</button>
</div>
<div class="modal fade" id="fileFormModel" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<a href="#" class="close" data-dismiss="modal">×</a>
<h3 id="title" class="modal-title">Add Filedata</h3>
</div>
<div class="modal-body" id="fileFormModelDiv">
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-4">
<form asp-action="Edit">
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<input type="hidden" asp-for="Id" />
<div class="form-group">
<label asp-for="Casename" class="control-label"></label>
<input asp-for="Casename" class="form-control" />
<span asp-validation-for="Casename" class="text-danger"></span>
</div>
<div class="form-group">
<input type="submit" value="Save" class="btn btn-default" />
</div>
</form>
</div>
</div>
<script>
var AddEditFiles = function (itemId) {
var url = "/Upload/AddEditFiles?itemId=" + itemId;
if (itemId > 0)
$('#title').html("Edit Filedata");
$("#fileFormModelDiv").load(url, function () {
$("#fileFormModel").modal("show");
});
$('#fileFormModel').on('shown.bs.modal', function () {
//toevoeging voor dropzone
$("#modalForm").dropzone({
maxFiles: 100,
success: function () { // adding a "returnId" to this function from the controller -'return Ok(returnId)-'produced an error in the path
//var url = "/Case/Edit/" + returnId; // this did not work
$("#myModal").modal('hide'); // <-- HERE IS MY PROBLEM
//window.location.href = url;
},
error: function (errormessage) {
alert(errormessage.responseText);
}
})
});
}
正如gaetanoM所建议的那样,我将#myModal
改为fileformModal
。这就是全部了。在我的天真中,我的印象是myModal是一个受保护的名字。