我有一個加載_Search.cshtml 局部視圖,看起來像這樣一個簡單的Wall.cshtml視圖標準方式:MVC 3(剃刀) - 使用按鈕事件調用控制器
<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:由於這是一個局部視圖,我該如何使包含當前搜索部分視圖..的視圖以搜索查詢的結果進行刷新和更新?
解決方法1是我做的事之前,但作爲對更新的原始答覆指出,按一下按鈕永遠不會到達搜索控制器方法。 – 2011-04-06 16:51:22
@Filu,以及在FireBug中檢查請求時會發生什麼?沒有到達控制器的原因是什麼? – 2011-04-06 18:14:25
我必須承認,我從來沒有用過Firebug。我剛安裝它。當我點擊按鈕時我要查找什麼? – 2011-04-07 08:05:06