我有一个Partial View,其中包含一个文件上传的文件输入框。用户在该视图上选择计算机中的文件并单击上传按钮。上传单击会将表单提交到操作方法并解析文件,然后返回相同的视图以自动填充视图上的几个字段。
一切正常工作完美。我正在向现有视图添加一个新要求,如下所示: 需求 用户选择文件并单击上传按钮。单击上传按钮后,将向用户显示一个JavaScript确认对话框,其中包含两个按钮选项,然后将表单提交给控制器操作方法。这些按钮是“Buffer Run Parsing”和“Normal Parsing”。单击任何一个按钮都会发布到控制器操作方法。
在控制器操作方法中,在提交后,我的目标是捕获他们按下的按钮,并根据按下的按钮选择文件解析逻辑。 问题 我创建了一个JavaScript函数显示了这两个按钮,但对话框框自动消失并且表单提交到控制器,我希望在确认之前不要发布。
我正在进行以下操作: Main View:
一切正常工作完美。我正在向现有视图添加一个新要求,如下所示: 需求 用户选择文件并单击上传按钮。单击上传按钮后,将向用户显示一个JavaScript确认对话框,其中包含两个按钮选项,然后将表单提交给控制器操作方法。这些按钮是“Buffer Run Parsing”和“Normal Parsing”。单击任何一个按钮都会发布到控制器操作方法。
在控制器操作方法中,在提交后,我的目标是捕获他们按下的按钮,并根据按下的按钮选择文件解析逻辑。 问题 我创建了一个JavaScript函数显示了这两个按钮,但对话框框自动消失并且表单提交到控制器,我希望在确认之前不要发布。
我正在进行以下操作: Main View:
@using (Html.BeginForm("Create", "RunLogEntry", FormMethod.Post, new { id = "form", enctype = "multipart/form-data"}))
{
<div id="main">
@Html.Partial("_RunLogEntryPartialView", Model)
</div>
}
局部视图:
<button name="submit" class="art-button" type="submit" value="Upload" onclick="initUploadDailog();return false;"
style="width: 100px">
Upload</button>
<div id="uploadConfirmation" style="font-size: 10px; font-weight: normal; overflow: scroll;
width: 800px; height: 450px; display: none;">
</div>
JS函数:
function initUploadDailog(e) {
currentForm = $(this).closest('form');
UploadDialog = $("#uploadConfirmation").dialog({
modal: true,
width: 400,
autoOpen: true,
title: 'Please select parsing type for Test Completed Computation',
buttons: {
"Normal Parsing": function () {
$("#hiddenInput").val("Normal");
alert(currentForm.innerHtml());
currentForm.submit();
},
"Buffer Parsing": function () {
$("#hiddenInput").val("Buffer Run");
currentForm.submit();
}
}
});
}
控制器:
[HttpPost]
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Create(RunLogEntry runLogEntry, String ServiceRequest, string Hour, string Minute, string AMPM,
string submit, IEnumerable<HttpPostedFileBase> file, String AssayPerformanceIssues1, List<string> Replicates)
{
}