У меня есть простое представление Wall.cshtml, которое загружает _Search.cshtml Partial View, который выглядит следующим образом:
<h2>The Wall</h2>
@{Html.RenderPartial("~/Views/Search/_Search.cshtml");}
Частичный просмотр _Search.cshtml(обновленный на основе ответа @Darin) выглядит следующим образом:
@using (Html.BeginForm("Searching", "Search", FormMethod.Post, new { id = "searchForm" }))
{
<div id="search">
<div id="searchbtn">
<input id="Search" type="button" value="Search" />
</div>
<div id="searchtxt">
@Html.TextBox("txtSearch")
</div>
</div>
}
Контроллер выглядит следующим образом:
public class SearchController : Controller
{
public ActionResult Wall()
{
return View();
}
[HttpPost]
public ActionResult Searching()
{
// do something with the search value
return View();
}
}
Когда я запускаю приложение, полученный в результате блок HTML-кода выглядит следующим образом:
<form action="/Search/Searching" id="searchForm" method="post">
<div id="search">
<div id="searchbtn">
<input id="Search" type="button" value="Search" />
</div>
<div id="searchtxt">
<input id="txtSearch" name="txtSearch" type="text" value="" />
</div>
</div>
</form>
ВОПРОС 1: Почему кнопка никогда не попадает в метод Поиск контроллера?
(позвольте мне повторить, что _Search.cshtml - это частичное представление, которое выполняется внутри представления с именем Wall.cshtml).
ВОПРОС 2: Как получить значение в текстовом поле "txtSearch"?
ВОПРОС 3:. Поскольку это частичный вид, как мне сделать представление, содержащее текущий частичный поиск, для обновления и обновления самого результата запроса поиска?