我有一個jQuery對話框,包含多個選項卡,每個選項卡包含一個窗體,並且jQuery對話框包含一個DropDownList具有「全局」值,將跨所有選項卡/形式。MVC3分享DropDownList或隱藏值與多種形式
關鍵是「Site」,根據控制器的結果,它由隱藏字段或下拉列表設置。
這可能是一個非常微不足道的任務,但我無法弄清楚如何去做(對於MVC3,JavaScript和一般網絡編程來說還是新手)。我可以通過執行var value = $('#Site').val();
來獲取JavaScript中的值,但我不知道如何將它發送到控制器,因爲我無法在C#變量中保存JS變量,反之亦然。我用這個命令來提交表單:$('#' + tabid).submit();
代碼:
<div id='jquery-dialog' title="Create new">
@if (ViewBag.SiteList == null)
{
@Html.Hidden("Site", Request.Params["ForSite"])
}
else
{
@Html.DropDownList("Site", (SelectList)ViewBag.SiteList)
}
<div id="tabs">
<ul>
<li><a href="#tab0">Tab 0</a></li>
<li><a href="#tab1">Tab 1</a></li>
</ul>
@using (Ajax.BeginForm("Create", null, new AjaxOptions() { HttpMethod = "POST" }, new { id = "tab0" }))
{
<div id="tab0">
This is Tab 0
</div>
}
@using (Ajax.BeginForm("Create", null, new AjaxOptions() { HttpMethod = "POST" }, new { id = "tab1" }))
{
<div id="tab1">
This is Tab 1
</div>
}
</div>
</div>
如果我正確理解你的問題,這應該有所幫助: http://stackoverflow.com/questions/4977858/pass-a-parameter-to-a--controller-using-jquery-ajax – JTMon 2012-07-31 09:32:14
差不多,我正在爲我即將提交的表單添加額外的值。現在明白了,謝謝! :) – 2012-07-31 10:06:35