有人能帮助我吗?
我已经天尝试通过C#自定义帮助程序方法,HTML等在引导下拉列表中获取所选选项...但我认为唯一的方法是通过脚本。 我知道JS的字面上是零,但如果你想给我一篇文章,我会高兴地读它,并试着理解它,所以不用担心。 事实上,我想了解与网络相关的所有内容,但我以后会保存javascript。问题是,我现在必须这样做。
在下拉列表中有两个选项并使用MVC我需要通过所选值true
,false
或null
向控制器发送null
(如果没有)被选中)。
下拉
<div class="dropdown">
<button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true" style="height:28px">
<span class="caret"></span>
</button>
<ul class="dropdown-menu" aria-labelledby="dropdownMenu1">
<li class="dropdown-header">Sort by</li>
<li role="separator" class="divider"></li>
<li><a href="#">Selected</a></li>
<li><a href="#">Unselected</a></li>
</ul>
</div>
控制器
public ActionResult Index(bool? export = null) {
ViewData["export"] = export;
//To do stuff
return View();
}
知道如何实现这个目标吗?
答案 0 :(得分:2)
检查出来:
https://msdn.microsoft.com/en-us/library/dd504972(v=vs.118).aspx
ActionLink存在一个重载,允许您指定路由值对象。它看起来像这样:
<li>@Html.ActionLink("Selected", "Index", "Home", new { export = true }, null)</li>
我只是猜测你的控制器是Home而最后的null是因为重载也需要一个html属性对象。
答案 1 :(得分:0)
由于您使用bootstrap,jquery包含在您的代码中,您可以将事件附加到下拉列表中
$('.dropdown-menu li a').click(function() {
console.log($(this).data('value'));
});
以这种方式编辑html锚
<li><a href="#" data-value="true">Selected</a></li>
<li><a href="#" data-value="false">Unselected</a></li>
这将在控制台中打印true / false,而是使用alert来显示弹出窗口。