在MVC视图中设置回发时选择的bootstrap下拉按钮值

时间:2015-11-17 12:58:38

标签: c# asp.net-mvc twitter-bootstrap-3

我使用下拉按钮构建了一个自举搜索,允许选择搜索类型,例如名字或姓氏。我有这个大多数工作,并能够毫无问题地将搜索类型和字符串传递给我的模型。我遇到的问题是,在单击搜索按钮并发生回发后,下拉选择器将返回其默认设置,并且我希望显示在回发期间放回到隐藏字段的搜索类型。

隐藏字段和搜索字符串在回发时填充,但我不确定设置下拉列表值的最佳方法。

 <div class="row">
        @using (Html.BeginForm())
        {
        <div class="input-group col-md-6 col-md-offset-3">
            <div class="input-group-btn search-All-panel">
                <button type="button" class="btn btn-primary dropdown-toggle" data-toggle="dropdown">
                    <span id="search_All_concept">@SiteStrings.FilterBy</span> <span id="txt" class="caret"></span>
                </button>
                <ul class="dropdown-menu" role="menu">
                    <li><a href="#">@SiteStrings.All</a></li>
                    <li><a href="#level">@SiteStrings.Level</a></li>
                    <li><a href="#UCI">UCI</a></li>
                    <li><a href="#firstname">@SiteStrings.FirstName</a></li>
                    <li><a href="#lastname">@SiteStrings.LastName</a></li>
                </ul>
            </div>
            @Html.HiddenFor(s => s.search_All_param)
            @*<input type="text" class="form-control" name="search_All_String" placeholder="Search term..." />*@
            @Html.EditorFor(s => s.search_All_String, new { htmlAttributes = new { @class = "form-control", @placeholder = "Search for..." } })
            <span class="input-group-btn">
                <button class="btn btn-primary" type="submit"><span class="glyphicon glyphicon-search"></span></button>
            </span>
        </div>
        }
    </div>

2 个答案:

答案 0 :(得分:0)

只需使用三元组来应用活动类:

<li class="@(Model.search_All_param == SiteStrings.All ? "active" : null)">
    <a href="#">@SiteStrings.All</a>
</li>

冲洗并重复下拉列表中的每个项目。

答案 1 :(得分:0)

猜猜有更好的方法,但这正是我所需要的......

<div class="row">
        @using (Html.BeginForm())
        {

        <div class="input-group col-md-6 col-md-offset-3">
            <div class="input-group-btn search-All-panel">
                <button type="button" class="btn btn-primary dropdown-toggle" data-toggle="dropdown">
                    <span id="search_All_concept">
                        @{
                            switch(@Model.search_All_param)
                            {
                                case "level":
                                    @SiteStrings.Level
                                break;

                                case "firstname":
                                    @SiteStrings.FirstName
                                break;

                                case "lastname":
                                    @SiteStrings.LastName
                                break;

                                default:
                                    @SiteStrings.FilterBy
                                    break;
                            }
                        }       
                    </span> <span class="caret"></span>
                </button>
                <ul class="dropdown-menu" role="menu">
                    <li><a href="#">@SiteStrings.All</a></li>
                    <li><a href="#level">@SiteStrings.Level</a></li>
                    <li><a href="#firstname">@SiteStrings.FirstName</a></li>
                    <li><a href="#lastname">@SiteStrings.LastName</a></li>
                </ul>
            </div>
            @Html.HiddenFor(s => s.search_All_param)
            @Html.EditorFor(s => s.search_All_String, new { htmlAttributes = new { @class = "form-control", @placeholder = "Search for..." } })
            <span class="input-group-btn">
                <button class="btn btn-primary" type="submit"><span class="glyphicon glyphicon-search"></span></button>
            </span>
        </div>
        }
    </div>