如何从MVC中复杂的下拉列表中返回选定的值?

时间:2016-05-18 00:46:33

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

我的下拉列表就像树视图一样。既然,我似乎无法弄清楚Html.DropDownListFor是否这样做,我不得不采用老式的方式。这是我的代码。

查看:

View

控制器:

Controller

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

1 个答案:

答案 0 :(得分:0)

  • 首先,它不是一种老式的方式,它是复制下拉列表的自助方式

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

由于这只包含ulli标签而且这些标签不属于输入类型,因此您无法回发这些值...

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

解决方案 - 使用Jquery

  • 删除Id的

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

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

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

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

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