c# — просмотр в контроллер — Изменение значения при нажатии кнопки и вводе нажмите

#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 Также Текстовое поле обеспечивает предлагаемое автозаполнение результата. При нажатии на предложение автозаполнения возникает эта проблема. Есть идеи, как с этим справиться.