Как совместить JavaScript / JQuery с Razor

0

Я создал вход и кнопку в одном из своих представлений в приложении 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, поэтому я как-то в темноте, как решить эту проблему. Будьте уверены, хотя это мой последний вариант попытаться решить это; Я пробовал читать книги и просматривать несколько интернет-сайтов для решения безрезультатно. Так вот.

  • 0
    вам нужно использовать AJAX-вызов для вызова контроллера на серверной части. см мой ответ здесь. stackoverflow.com/questions/19956913/...
Теги:
razor
asp.net-mvc-4

1 ответ

2
Лучший ответ

Поскольку вы просто пытаетесь сделать перенаправление, возможно, что-то вроде этого будет работать лучше для вас:

@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>
}
  • 0
    Большое спасибо.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню