用于文件上载的bootstrap模式

时间:2015-04-10 10:37:49

标签: twitter-bootstrap file-upload modal-dialog

我一直在我的应用程序中使用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;
    });
}

1 个答案:

答案 0 :(得分:0)

我遇到了bootstrap模式执行完全回发的问题,并且模式在回发后没有返回。所以我使用Hiddenfield作为标志。

当按下提交按钮进行文件上传时,我为1提供的值为HiddenField。并且在jQuery编写代码的document.ready中,如果HiddenField值为1,则显示弹出模式。

如果HiddenField,我还会0 1值{。}}。