Javascript MVC3与多个表单共享下拉列表或隐藏值

Javascript MVC3与多个表单共享下拉列表或隐藏值,javascript,jquery,ajax,asp.net-mvc-3,razor,Javascript,Jquery,Ajax,Asp.net Mvc 3,Razor,我有一个jQuery对话框,其中包含多个选项卡,每个选项卡包含一个表单,jQuery对话框包含一个DropDownList,其中包含一个“全局”值,该值将在所有选项卡/表单中共享 该键为“站点”,由隐藏字段或下拉列表设置,具体取决于控制器的结果 这可能是一项非常琐碎的任务,但我不知道如何做(一般来说,MVC3、JavaScript和web编程还是新手)。我可以通过执行var value=$('#Site').val()来获取JavaScript中的值但我不知道如何将其发送到控制器,因为我无法将J

我有一个jQuery对话框,其中包含多个选项卡,每个选项卡包含一个表单,jQuery对话框包含一个DropDownList,其中包含一个“全局”值,该值将在所有选项卡/表单中共享

该键为“站点”,由隐藏字段或下拉列表设置,具体取决于控制器的结果

这可能是一项非常琐碎的任务,但我不知道如何做(一般来说,MVC3、JavaScript和web编程还是新手)。我可以通过执行
var value=$('#Site').val()来获取JavaScript中的值
但我不知道如何将其发送到控制器,因为我无法将JS变量保存在C#variables中,但只能将其保存在C#variables中。我使用此命令提交表单:
$('#'+tabid).submit()

代码:


@如果(ViewBag.SiteList==null)
{
@Html.Hidden(“Site”,Request.Params[“ForSite”])
}
其他的
{
@Html.DropDownList(“站点”,(SelectList)ViewBag.SiteList)
}
@使用(Ajax.BeginForm(“Create”,null,new AjaxOptions(){HttpMethod=“POST”},new{id=“tab0”})) { 这是选项卡0 } @使用(Ajax.BeginForm(“Create”,null,new AjaxOptions(){HttpMethod=“POST”},new{id=“tab1”})) { 这是表1 }
您可以使用javascript来完成。 首先,在表单标记内创建一个hiddenfield:

@using (Ajax.BeginForm("Create", null, new AjaxOptions() { HttpMethod = "POST" }, new { id = "tab0" }))
    {
      <div id="tab0">
        <input id="tab0Value" name="tab0Value" type="hidden" value="">
        This is Tab 0
      </div>
    }

您可以使用javascript来实现这一点。 首先,在表单标记内创建一个hiddenfield:

@using (Ajax.BeginForm("Create", null, new AjaxOptions() { HttpMethod = "POST" }, new { id = "tab0" }))
    {
      <div id="tab0">
        <input id="tab0Value" name="tab0Value" type="hidden" value="">
        This is Tab 0
      </div>
    }

如果我正确理解了您的问题,这应该会有所帮助:差不多,但我正在做的是为我即将提交的表单添加一个额外的值。不过现在已经拿到了,谢谢!:)如果我正确理解了您的问题,这应该会有所帮助:差不多,但我正在做的是为我即将提交的表单添加一个额外的值。不过现在已经拿到了,谢谢!:)谢谢,成功了!不过有一个小小的修正:您需要在hiddenfield中设置“name”参数,否则控制器将无法捕获它:
@ShahinDohan Thnaks,添加了name属性。谢谢,它成功了!不过有一个小的修正:您需要在hiddenfield中设置“name”参数,否则控制器将无法捕获它:
@ShahinDohan Thnaks,添加了name属性。
var value = $('#Site').val();
$("#tab0Value").val(value);