#c# #html #forms #razor
Вопрос:
У меня есть приведенная ниже форма cshtml, которая отправляет значение коллекции в контроллер при нажатии кнопки. Эта функция работает нормально, когда пользователь нажимает на кнопку.
<form class="search search--large col--large-8" action="/search.asp" method="get" data-component="search">
<div class="search__wrapper">
<input id="landing-header-search" class="search__input" type="text" name="searchterm" value="" placeholder="Search Forum Disucssion" data-modal-focus data-search-input autocomplete="off" />
<input type="hidden" name="collections" value="forumdiscussion" />
<button class="search__submit button ui-kit-button-medium" type="submit">
<span class="button__text">Search</span>
</button>
</div>
</form>
В приведенной выше форме отправьте кнопку на код ниже.
Когда я нажимаю щелчком мыши на кнопку отправить, параметр коллекции имеет значение «forumdiscussion», но когда я нажимаю клавишу Enter, параметр коллекции равен «Null». Я хочу, чтобы параметр collections был одинаковым в обоих случаях.
[QsParams("searchterm", "collections", "searchcoll", "page")]
public ActionResult Index(string searchTerm, string[] collections, string searchcoll, PagerParameters pagerParameters) {
_metaService.SetMeta("robots", "noindex,nofollow");
searchcoll = searchcoll ?? "All";
// create breadcrumb shape
var breadcrumbShape = _orchardServices.New.Parts_Breadcrumbs(
Breadcrumbs: _breadcrumbsService.GetBreadcrumbLinks("Home [] > Search []")
);
// create search box shape
var searchBoxShape = _orchardServices.New.Parts_Search_Box(
IsSearchPage: true,
Query: searchTerm,
SearchCollections: collections ?? new[] { searchcoll }
);
}
Но функциональность не работает нормально при нажатии клавиши ввода. Мы отправляем значение коллекции в другой метод для обработки.
Комментарии:
1. Попробуйте изменить кнопку на ввод.
2. @MahmoudAl-Qudsi Спасибо за ваш вклад, я изменил кнопку, как вы предложили, и это сработало. Можете ли вы объяснить, почему это сработало, просто я могу лучше понять.
3. @MahmoudAl-Qudsi Также Текстовое поле обеспечивает предлагаемое автозаполнение результата. При нажатии на предложение автозаполнения возникает эта проблема. Есть идеи, как с этим справиться.