【问题标题】:Render Bootstrap dropdown menu with c# html dropdown list helper使用 c# html 下拉列表助手渲染 Bootstrap 下拉菜单
【发布时间】:2014-03-19 23:19:48
【问题描述】:

我为我的网站创建了一个搜索输入,该输入附加到一个下拉菜单。但我需要使用 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>

【问题讨论】:

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


    【解决方案1】:

    在引导下拉菜单中使用常规的超链接标签:

    <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>
    

    【讨论】:

    • 这会在下拉菜单的选择列表中呈现。但它不会将 searchBy 的值传递给控制器​​。我该怎么做?
    • 当您单击提交时,您是否看到在 URL 中传递的值?您可以通过将名为 SearchBy 的字符串参数添加到控制器方法来访问。您也可以简单地使用 Request.QueryString["SearchBy"]
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-21
    • 2018-07-15
    • 1970-01-01
    • 1970-01-01
    • 2019-12-05
    • 2015-07-07
    • 1970-01-01
    相关资源
    最近更新 更多