首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MVC3与多个表单共享DropDownList或隐藏价值

MVC3与多个表单共享DropDownList或隐藏价值
EN

Stack Overflow用户
提问于 2012-07-31 17:15:20
回答 1查看 768关注 0票数 1

我有一个包含多个选项卡的jQuery对话框,每个选项卡包含一个表单,而jQuery对话框包含一个带有“DropDownList”值的全局,该值将在所有选项卡/表单之间共享。

关键字是"Site",它是由隐藏字段或下拉列表设置的,具体取决于控制器的结果。

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

代码:

代码语言:javascript
复制
<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>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-31 17:56:14

你可以用javascript来实现。首先,在表单标记内创建一个隐藏字段:

代码语言:javascript
复制
@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>
    }

然后,当单击submit按钮时(在表单发送之前),从dropDownList获取值并将其设置为隐藏字段:

代码语言:javascript
复制
var value = $('#Site').val();
$("#tab0Value").val(value);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11736794

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档