我一直在我的应用程序中使用bootstrap模式,这是在asp.net mvc中开发的。现在我在尝试使用bootstrap Model上传文件时遇到困难。使用普通的ajax,控制器确实在HttpPostedFileBase中显示为null。然后我使用了JQuery.Form.js,并从@using(Html.BeginHtml转换为@using(Ajax.BeginForm。)使用HttpPostedFileBase中显示的文件。但是,这次Callback不起作用。这是javascript片段,已被使用
$(function () {
$.ajaxSetup({ cache: false });
$(document).delegate("a[data-ajax-model]", "click", function (e) {
$('#myModalContent').load(this.href, function () {
$('#myModal').modal({
keyboard: true
}, 'show');
bindAjaxForm(this);
});
return false;
});
});
function bindAjaxForm(dialog) {
$('form', dialog).submit(function (e) {
e.preventDefault();
$('#ajaxForm').ajaxForm({
success: function (data, textStatus, xhr) {
alert('test0');
$('#myModal').modal('hide');
$('#replacetarget').html(data);
Initialize_ThreeFixDT();
},
error: function (xhr, status) {
alert('test');
$('#myModalContent').html(xhr.responseText, xhr.status);
bindAjaxForm(dialog);
}
});
return false;
});
}
答案 0 :(得分:0)
我遇到了bootstrap模式执行完全回发的问题,并且模式在回发后没有返回。所以我使用Hiddenfield
作为标志。
当按下提交按钮进行文件上传时,我为1
提供的值为HiddenField
。并且在jQuery编写代码的document.ready中,如果HiddenField
值为1
,则显示弹出模式。
如果HiddenField
,我还会0
1
值{。}}。