我正在尝试在asp.net中创建搜索器。我很绿。我正在尝试在视图中创建并将其发送到控制器变量,该变量具有在搜索器中编写的文本。那一刻,我有点像->
我的问题是,在何处以及如何创建和发送变量并将其数据写在搜索器中?
布局
form class="navbar-form navbar-left" role="search">
@using (Html.BeginForm("Index", "Searcher", FormMethod.Post, new { phrase = "abc" }))
{
<div class="form-group">
<input type="text" class="form-control" placeholder="Wpisz frazę...">
</div>
<button type="submit" class="btn btn-default">@Html.ActionLink("Szukaj", "Index", "Searcher")</button>
}
</form>
控制者
public class SearcherController : ApplicationController
{
[HttpGet]
public ActionResult Index(string message)
{
ViewBag.phrase = message;
getCurrentUser();
return View();
}
}
视图
@{
ViewBag.Title = "Index";
}
<h2>Index</h2>
<ul>
<li>@ViewBag.message</li>
</ul>
最佳答案
您缺少MVC的关键部分->模型。
首先创建一个:
public class SearchModel
{
public string Criteria { get; set; }
}
然后,让我们更新“布局”视图(不知道为什么在表单中有表单吗?):
@model SearchModel
@using (Html.BeginForm("Index", "Searcher", FormMethod.Post, new { phrase = "abc" }))
{
<div class="form-group">
@Html.EditorFor(m => m.Criteria)
</div>
<button type="submit" class="btn btn-default">@Html.ActionLink("Szukaj", "Index", "Searcher")</button>
}
然后,为该视图服务的操作:
[HttpGet]
public ActionResult Index()
{
return View(new SearchModel());
}
那么您的发布方法将是:
[HttpPost]
public ActionResult Index(SearchModel model)
{
ViewBag.phrase = model.Criteria;
getCurrentUser();
return View();
}
关于c# - 将词组(变量)从搜索器(从 View )发送到 Controller ,asp.net mvc,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30184553/