Проблема в том, что вы смотрите в коллекцию Request.QueryString
.Но вы делаете POST
, поэтому значение query
находится в коллекции Request.Form
.Но я думаю, что вы хотите, чтобы ваш TextBox был заполнен данными, поэтому можете делать это, как в моем примере.
Образец
@using (Html.BeginForm("Index", "Home", FormMethod.Post))
{
<input type="search" name="query" id="query" value="@Request.Form["query"]" />
}
Но это не настоящий подход MVC.Для этого вы должны создать ViewModel.
Модель
namespace MyNameSpace.Models
{
public class SearchViewModel
{
public string Query { get; set; }
}
}
View
@model MyNameSpace.Models.SearchViewModel
@using (Html.BeginForm("Index", "Home", FormMethod.Post))
{
@Html.TextBoxFor(x => x.Query)
<input type="submit" />
}
Контроллер
public ActionResult Index()
{
return View(new SearchViewModel());
}
[HttpPost]
public ActionResult Index(SearchViewModel model)
{
// do your search
return View(model);
}