在MVC视图中设置回发时引导程序下拉按钮的选定值

本文关键字:按钮 引导程序 视图 MVC 设置 | 更新日期: 2023-09-27 18:22:11

我构建了一个带有下拉按钮的引导搜索,可以选择搜索类型,例如名字或姓氏。我大部分时间都在工作,并且能够毫无问题地将搜索类型和字符串传递到我的模型中。我遇到的问题是,在单击搜索按钮并进行回发后,下拉选择器将返回到其默认设置,并且我希望在回发期间显示放回隐藏字段的搜索类型。

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

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

在MVC视图中设置回发时引导程序下拉按钮的选定值

只需使用一个三进制来应用活动类:

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

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

我想还有更好的方法,但这正是我所需要的。。。

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