问题是您正在查看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; }
}
}
看法
@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);
}