【问题标题】:MVC3 Share DropDownList or Hidden value with multiple formsMVC3 使用多种形式共享下拉列表或隐藏值
【发布时间】:2012-07-31 09:15:19
【问题描述】:

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

关键是“站点”,它可以通过隐藏字段或下拉列表设置,具体取决于控制器的结果。

这可能是一项非常微不足道的任务,但我不知道该怎么做(对于 MVC3、JavaScript 和一般的 Web 编程来说仍然是新手)。我可以通过 var value = $('#Site').val(); 获取 JavaScript 中的值,但我不知道如何将其发送到控制器,因为我无法将 JS 变量保存在 C# 变量中,反之亦然。我使用这个命令提交表单:$('#' + 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>

【问题讨论】:

  • 如果我正确理解了您的问题,这应该会有所帮助:stackoverflow.com/questions/4977858/…
  • 几乎,但我正在做的是为我将要提交的表单添加一个额外的值。不过现在知道了,谢谢! :)

标签: javascript jquery ajax asp.net-mvc-3 razor


【解决方案1】:

您可以使用 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>
    }

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

var value = $('#Site').val();
$("#tab0Value").val(value);

【讨论】:

  • 谢谢,成功了!一个小修正:您需要在隐藏字段中设置“名称”参数,否则控制器不会捕捉到它:&lt;input id="SiteValue" name="SiteValue" type="hidden" value="" /&gt;
  • @ShahinDohan Thnaks,添加了 name 属性。
猜你喜欢
  • 2018-11-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-27
  • 1970-01-01
  • 2011-05-16
  • 1970-01-01
相关资源
最近更新 更多