Я использовал ненавязчивый ajax в MVC для отображения результатов поиска, который хорошо работает в Google Chrome, но открывает новую вкладку в IE. Вот мой код для html-страницы
@{
AjaxOptions options = new AjaxOptions
{
HttpMethod="POST",
UpdateTargetId = "searchResult",
InsertionMode = InsertionMode.Replace,
AllowCache = false
};
}
@using (Ajax.BeginForm("SearchContent", options))
{
<div class="row no-gutters ">
<div class="col">
<!--<input class="form-control text-sm border-secondary border-right-0 rounded-0" type="search" placeholder="Search" id="Search">-->
@Html.TextBox("SearchText", null, new { @class = "form-control-sm small-box mt-2 border-secondary border-right-0 rounded-0" })
</div>
<div class="col-auto">
<button class="btn-search mt-2" type="submit">
<i class="fa fa-search vertical-middle"></i>
</button>
</div>
</div>
}
<div id="searchResult">
</div>
В контроллере я использую этот код для возврата искомых элементов
public PartialViewResult SearchContent(String SearchText)
{
List<SearchResult> Filenames = new List<SearchResult>();
List<SearchResult> result = new List<SearchResult>();
string path = Server.MapPath("~/Views");
if (SearchText == null)
SearchText = "";
//path to start searching.
if (Directory.Exists(path))
{
result = ProcessDirectory(path, SearchText, Filenames);
}
ViewData["result"] = result;
return PartialView("~/Views/Home/SearchContent.cshtml");
}
Любая помощь, касающаяся того, почему это открывает новую вкладку только в IE и прекрасно работает в других браузерах?