Я создал вход и кнопку в одном из своих представлений в приложении ASP.NET MVC4, и я хочу, чтобы кнопка передавала значение поля ввода в качестве параметра одному из моих контроллеров. Проблема, с которой я сталкиваюсь, заключается в том, что я знаю только, как объявить/получить указанное значение с помощью jQuery, но я не могу понять, как использовать это как допустимый параметр для передачи. Мой код выглядит следующим образом:
Элемент div, содержащий два элемента:
<div class="searchLine">
<span><input type="text" id="searchField" title="Input search query here." /></span>
<button type="submit" id="searchButton" />
</div>
Сценарий, который обрабатывает передачу параметра для создания нового представления:
<script type="text/javascript">
var search = $("#searchField").val();
$("#searchButton").click(function() {
document.location = '@Url.Action("SearchResults", "Home", new {input = search })';
});
</script>
Контроллер, которому нужен параметр.
public ActionResult SearchResults(string input)
{
ViewBag.Title = "Search";
ViewBag.Message = "Your search returned the following match(es).";
var results = Model.ModelController.UniversalSearch(input);
var movies = results.MovieListForUser;
var people = results.PersonListForUser;
return View();
}
Из того, что я собрал из других вопросов здесь, в стеке, я пытаюсь сделать что-то, что рабочая серверная сторона пытается связать с чем-то, что работает на стороне клиента и которая существует только во время выполнения. Я новичок как в бритве, так и во всем бизнесе asp.net, поэтому я как-то в темноте, как решить эту проблему. Будьте уверены, хотя это мой последний вариант попытаться решить это; Я пробовал читать книги и просматривать несколько интернет-сайтов для решения безрезультатно. Так вот.
Поскольку вы просто пытаетесь сделать перенаправление, возможно, что-то вроде этого будет работать лучше для вас:
@using (Html.BeginForm("SearchResults", "Home", FormMethod.Get))
{
<div class="searchLine">
<span>
<input type="text" id="input" name="input" title="Input search query here." />
</span>
<button type="submit" id="searchButton" />
</div>
}