使用c#html下拉列表帮助器渲染Bootstrap下拉菜单

时间:2014-03-19 23:19:49

标签: c# twitter-bootstrap razor twitter-bootstrap-3 html-helper

我为我的网站创建了一个附加到下拉菜单的搜索输入。但我需要在下拉菜单中使用html帮助器选择列表中的项目填充这些项目,这对搜索功能至关重要。是否可以在发布到控制器的引导下拉菜单中呈现搜索列表中的项目?

HTML搜索功能

<div class="col-lg-6">
@{using (Html.BeginForm("Results", "Searchv2", FormMethod.Get)) {
  <div class="input-group">
    <div class="input-group-btn">
      <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">Action <span class="caret"></span></button>
      <ul class="dropdown-menu">
      @Html.DropDownList("Searchby", new SelectList(new[] { "User", "Restaurant", "Cuisine" }))
      </ul>
    </div>
    <input type="text" class="form-control" placeholder="Search" name="SearchString" id="SearchString">
  </div>
}}
</div>

1 个答案:

答案 0 :(得分:1)

在bootstrap下拉菜单中使用传统的超链接标记:

<ul class="dropdown-menu">
@foreach (var searchType in new[] { "User", "Restaurant", "Cuisine" })
{
    <li><a href="#">@searchType</a></li>
}
</ul>

然后在选择这些超链接时使用JQuery设置隐藏的输入值:

<input type="hidden" name="SearchBy" />
<script>
    $(".dropdown-menu a").click(function() {        
        $("input[name='SearchBy']").val($(this).html());            
    });
</script>