【问题标题】:How do I return a selected value from a complicated dropdownlist in MVC?如何从 MVC 中的复杂下拉列表中返回选定的值?
【发布时间】:2016-05-18 00:46:32
【问题描述】:

我的下拉列表就像树视图一样工作。因为,我似乎无法弄清楚 Html.DropDownListFor 是否这样做,所以我不得不以老式的方式来做。这是我的代码。

查看:

控制器:

如何将选定的值 (LocationId) 返回到我的控制器?视图中的 id="locSelection",作为控制器中的对象选择引入。谢谢:)

【问题讨论】:

  • 虽然我编辑使图像可见,但请编辑直接包含代码(不在图像中)。
  • 我有视力问题。为了让我可以阅读代码,您可以将其粘贴为文本吗?

标签: javascript c# asp.net-mvc drop-down-menu


【解决方案1】:
  • 首先,它不是一种老式的方式,它是复制下拉菜单的引导方式

  • 其次,它不是下拉元素...

由于这仅包含 ulli 标记,并且它们不是输入类型,因此您无法回发这些值...

代码中的另一个问题是您在多个元素上设置了 ID locSelection,而且也是在一个循环中。所以您将拥有大量具有相同 ID 的元素,这是一个大 NO 。 Id 必须是唯一的,否则当我们开始在这些元素上使用 Jquery 时,这是一场噩梦......

解决方案——使用 Jquery

  • 去掉id的

  • 为所有锚标签添加一个类,例如:locSelection

  • 在表单中维护一个隐藏的输入字段。我们将使用这个隐藏的输入字段来回发表单提交的数据。

<input type='hidden' name='locSelection' id='locSelection' />

  • 现在将点击事件绑定到li 内的锚标记,并在此事件中将 Clicked 的锚标记文本值放入隐藏的输入中。

$('.locSelection').on('click',function(){ $('#locSelection').val($(this).text()); });

【讨论】:

  • 谢谢雷迪。这有很大帮助。我是一个正在体验 MVC 未来的 winforms 人。这是完全不同的。
  • @John 很高兴我能帮上忙 :)
猜你喜欢
  • 1970-01-01
  • 2023-03-09
  • 2015-06-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-05
  • 1970-01-01
相关资源
最近更新 更多