我在我的視圖中有一個JS對話框。當視圖返回時,對話框被最大化/打開。該視圖還有一個鏈接,當用戶點擊鏈接時,該對話框打開。從JS對話框中單擊發布到控制器的操作方法
我在名爲Submit的對話框中有一個按鈕。我試圖做的是,當模式框打開時,頁面元素的其餘部分應該模糊或不分明。當他們點擊對話框中的提交按鈕時,它應該使用模型屬性發布到控制器操作方法。我不是很擅長JS語法,但是如何在提交點擊的情況下發回給名爲「Create」的控制器操作,提交值爲「Confirmation」?
@model RunLog.Domain.Entities.RunLogEntry
@{
ViewBag.Title = "Create";
Layout = "~/Views/Shared/_Layout.cshtml";
}
@using (Html.BeginForm("Create", "RunLogEntry", FormMethod.Post, new { id = "form", enctype = "multipart/form-data" }))
{
@Html.ValidationSummary(true)
<div class="exception">@(ViewBag.ErrorMessage)</div>
//xyz elements here
<div class="bodyContent">
<span class="leftContent">
@Html.Label("Run Dates")
</span><span class="rightContent"><span id="RunDatesChildDialogLink" class="treeViewLink">
Click here to Select Run Dates</span>
<br />
<span id="RunDatesDisplayy"></span></span>
</div>
<div id="runDatestreeview" title="Dialog Title" style="font-size: 10px; font-weight: normal;
overflow: scroll; width: 800px; height: 450px; display: none;">
<table class="grid" style="width: 600px; margin: 3px 3px 3px 3px;">
<thead>
<tr>
<th>
Run Dates:
</th>
</tr>
</thead>
<tbody>
@Html.EditorFor(x => x.RunDatesDisplay)
</tbody>
</table>
</div>
}
JS文件對話框(runDates.js):
var RunDialog;
$(document).ready(function() {
RunDialog = $("#runDatestreeview").dialog({ resizable: false, autoopen: false, height: 140, modal: true, width: 630, height: 400,
buttons: { "Submit": function() {
$(this).dialog("close");
},
Cancel: function() {
$(this).dialog("close");
}
}
});
$('#RunDatesChildDialogLink').click(function() {
RunDialog.dialog('open');
$("#runDatestreeview").parent().appendTo("form");
});
$("#runDatestreeview").parent().appendTo("form");
});
控制器動作:
[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)
{
**EDIT:**
var RunDialog;
$(document).ready(function() {
RunDialog = $("#runDatestreeview").dialog({ resizable: false, autoopen: false, height: 140, modal: true, width: 630, height: 400,
buttons: { "Continue": function() {
var str = $("#form").serialize();
$.ajax({
url: "/RunLogEntry/Create",
data: str,
cache: false,
type: 'POST',
dataType: 'json',
contentType: "application/json;charset=utf-8",
success: function (data, status) {
},
error: function (xhr, ajaxOptions, thrownError) { alert('error') }
});
},
Cancel: function() {
$(this).dialog("close");
}
}
});
$('#RunDatesChildDialogLink').click(function() {
RunDialog.dialog('open');
$("#runDatestreeview").parent().appendTo("form");
});
$("#runDatestreeview").parent().appendTo("form");
});
不,它贏得,T提交,因爲你是剛剛宣佈的對象ABD不分配值給他們...同樣,網址:「@ Url.Action(‘創建’,「RunLogEntry 「)', 是錯的 –
它應該是網址:'./創建' –
好吧,即時通訊掙扎在什麼。該模型被稱爲RunLogEntry,它在視圖中具有不同的屬性。我想提交。我如何聲明var datatosend = model? –