我的下拉列表就像树视图一样。既然,我似乎无法弄清楚Html.DropDownListFor是否这样做,我不得不采用老式的方式。这是我的代码。
查看:
控制器:
如何将所选值(LocationId)返回给我的控制器?视图中的id =“locSelection”,作为控制器中的对象选择引入。谢谢:))
答案 0 :(得分:0)
首先,它不是一种老式的方式,它是复制下拉列表的自助方式
其次,它不是一个下拉元素......
由于这只包含ul
和li
标签而且这些标签不属于输入类型,因此您无法回发这些值...
代码中的另一个问题是你在多个元素上设置ID locSelection
,并且在循环中也是如此..所以你将拥有大量具有相同ID的元素,这是一个很大的 NO 即可。当我们开始在这些元素上使用Jquery时,Id必须是唯一的,否则它就是一场噩梦......
解决方案 - 使用Jquery
删除Id的
为所有锚标记添加一个类,例如:locSelection
在表单中维护隐藏的输入字段。我们将使用此隐藏的输入字段在表单提交上回发数据。
<input type='hidden' name='locSelection' id='locSelection' />
li
内的anchor标记,并在此事件中将Clicked锚标记文本值放入隐藏的输入中。 $('.locSelection').on('click',function(){
$('#locSelection').val($(this).text());
});