弹出上传文件MVC

时间:2016-05-05 13:50:35

标签: c# ajax asp.net-mvc file-upload

我需要上传一些xml文件。为此我需要从我的MVC应用程序打开一个弹出窗口来加载文件。我在下面编写了代码。在控制器中我看到了加载的文件。

Upload.cshtml:

@using (@Html.BeginForm("UploadFile", "UploadFileController", FormMethod.Post, new { @id = "uploadForm", @enctype = "multipart/form-data" }))
  {
   <div>
        @Html.TextBoxFor(m => m.FileName, new { type = "file" })
       <button type="submit" class="btn">Upload</button>
  </div>
 }

控制器:

[HttpPost]
 public ActionResult UploadFile(UploadFileModel uploadFileModel)
{
....

}

型号:

public class UploadFileModel
{
    public int Id { set; get; }
    public HttpPostedFileBase FileName { get; set; }
}

现在,“Upload.cshtml”是一个部分并显示在主页中。 1.如何以单独的形式对其进行转换?按下按钮时会出现此部分。 2.如何在搜索对话框中显示xml文件?

谢谢。

1 个答案:

答案 0 :(得分:0)

如前所述,它是前端问题,与c#和控制器无关。所以请修改Upload.cshtml

 <button type="button" class="btn btn-default" id="showPopup">show popup</button>

<form id="uploadForm" class="modal fade" role="dialog">
<div class="modal-dialog">
    <div class="modal-content">
        <div class="modal-header">
            <button type="button" class="close" data-dismiss="modal">&times;</button>                
        </div>

        <div class="modal-body">
            @Html.TextBoxFor(m => m.FileName, new { type = "file" })
        </div>

        <div class="modal-footer">
            <button type="button" class="btn btn-default" data-dismiss="modal">close form</button>
            <button type="submit" class="btn btn-success" id="">Upload</button>
        </div>
    </div>
</div>

现在使用jquery:

$('#showPopup).click(function(){
   $('#uploadForm').modal();
});

另一个选项是Bootbox.js。 希望它有所帮助。