我需要上传一些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文件?
谢谢。
答案 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">×</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。 希望它有所帮助。