Ich habe eine einfache Wall.cshtml-Ansicht, die eine _Search.cshtml lädt Teilweise Ansicht das so aussieht:
<h2>The Wall</h2>
@{Html.RenderPartial("~/Views/Search/_Search.cshtml");}
Die partielle Ansicht _Search.cshtml (aktualisiert auf der Grundlage der Antwort von @Darin) sieht wie folgt aus:
@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>
}
Der Controller sieht folgendermaßen aus:
public class SearchController : Controller
{
public ActionResult Wall()
{
return View();
}
[HttpPost]
public ActionResult Searching()
{
// do something with the search value
return View();
}
}
Wenn ich die Anwendung ausführe, sieht der resultierende HTML-Block wie folgt aus:
<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>
FRAGE 1: Warum sollte der Klick auf die Schaltfläche nie die Suche nach Controller Methode?
(Ich möchte noch einmal betonen, dass _Search.cshtml eine Teilansicht ist, die innerhalb einer Ansicht namens Wall.cshtml ausgeführt wird).
FRAGE 2: Wie kann ich den Wert im Textfeld "txtSearch" ermitteln?
FRAGE 3: Da dies eine Teilansicht ist, wie mache ich die Ansicht, die die aktuelle Suche Teilansicht enthält ..zu aktualisieren und aktualisieren sich mit dem Ergebnis der Suchabfrage?