我正在使用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提交