jquery - 使用 jquery 对话框上传文件不起作用

标签 jquery asp.net asp.net-mvc asp.net-mvc-3 file-upload

我想使用 jquery 对话框上传文件。 我创建了一个部分 View 并在对话框中显示该部分 View 。

问题是,当我直接浏览部分 View 并上传文件时,它工作得很好。 但是当我将部分 View 放入 jquery 对话框中时,它会提交表单,但不会提交文件。所以我有空值。 我真的不明白这里有什么区别!!

希望有人能帮我找出问题所在。

这是一些代码;

jquery 代码:

$('#UploadDialog').dialog({
        autoOpen: false,
        width: 580,
        resizable: false,
        modal: true,
        open: function (event, ui) {
        $(this).load('@Url.Action("Upload","Notes")');
        },
        buttons: {
            "Upload": function () {
                $("#upload-message").html(''); 
                $("#noteUploadForm").submit();
            },
            "Cancel": function () {
                $(this).dialog("close");
            }
        }
    });
    $(".uploadLink").click(function () {
        $('#UploadDialog').dialog('open');
        });
        return false;
});

部分 View :

@using (Ajax.BeginForm("Upload", "Notes", null, new AjaxOptions
{
UpdateTargetId = "upload-message",
InsertionMode = InsertionMode.Replace,
HttpMethod = "POST",
OnSuccess = "uploadSuccess"
}, new { id = "noteUploadForm" , enctype="multipart/form-data"}))
{
<div>
<div id="upload-message"></div>
<div class="editLabel">
    @Html.LabelFor(m => m.Notes.NoteTitle)
</div>
<div class="editText">
    @Html.TextBoxFor(m => m.Notes.NoteTitle)
</div>
<div class="clear"></div>

<div class="editLabel">
    @Html.Label("Upload file")
</div>
<div class="editText">
    <input type="file" name="file" />(100MB max size)
</div>

</div>
}

最佳答案

这是因为您无法使用 AJAX 上传文件。

试试这个

http://jquery.malsup.com/form/#file-upload

关于jquery - 使用 jquery 对话框上传文件不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10858792/

相关文章:

javascript - jQuery.parseJSON(JSON.stringify(someData)); 有什么意义?

asp.net-mvc - MVC - RouteLink 和图像

c# - 动态 CSV 文件下载

jQuery 日期选择器传递 01/01/0001 12 :00:00 AM

c# - 如何从自动生成 gridview 列的 excel 中保存我的数据?

jquery - Ipv4 验证 Jquery

javascript - Knockoutjs div 绑定(bind)未按预期工作

php - jQuery Ajax 在 php 同一页面上传递值

c# - 根据企业 ID 更改登录时的连接字符串

asp.net - ASP :multiview control - can we show all the views on one tab instead of different tabs