Html.DropdownList用于不提交Internet Explorer 11中的所选项目

时间:2019-01-02 13:42:58

标签: asp.net-mvc internet-explorer

我正在使用Html.DropDownListFor对搜索结果进行排序。在Chrome / Firefox / Edge中,选中一个项目后,表单会正确发布带有包含升序或降序值的参数以对结果进行排序,但是在IE11中,表单会重新提交,但模型中排序标识符的值为null。

这是表格

 @using (Html.BeginForm(null, null, PageEditing.PageIsInEditMode ? FormMethod.Post : FormMethod.Get,
    new { action = Model.Layout.SearchActionUrl, @class = "rr-search-form", id = "rr-search", name = "SearchForm" }))
    {
        <input type="text" id="rrSearchInput" class="rr-input rr-input--search" name="q" aria-label="søk" value="@Model.SearchedQuery.Cleaner(200)" />
        <button type="submit" title="Søk etter rapporter og innhold">
        </button>
    }

这是排序下拉列表:

@{
    Model.SelectItems = new List<SelectListItem>
    {
        new SelectListItem {Text=Html.Translate("/searchpagetemplate/sortascending"), Value="ascending"},
        new SelectListItem {Text=Html.Translate("/searchpagetemplate/sortdescending"), Value="descending"}
    };
}
@Html.DropDownListFor(m => m.SelectSortIdentifier, Model.SelectItems, Html.Translate("/searchpagetemplate/sorttype"),
    new { @class = "rr-search-sorting__select rr-font--meta",
        form = "rr-search",
        aria_label = "Sorter søkeresultater",
        onchange = "SearchForm.submit()", id = "rr-search-sort" }) 

在下拉菜单中选择一个选项时,表单将使用现代浏览器中包含的SelectSortIdentifier参数而不是IE提交

0 个答案:

没有答案