我試圖將搜索框添加到ASP.Net MVC Web應用程序的母版頁中。令我困惑的是如何在母版頁中正確實施它。所以用戶在這個搜索框中鍵入數據,應該如何從MVC的角度處理數據?我知道我可以使用他掌握的頁面代碼,但我不應該。我目前正在嘗試爲此使用用戶控件,但我不確定如何正確實現它,並且在線資源似乎有限。會創建一個HTML助手是最好的?將搜索框添加到主頁面
總結:在MVC母版頁中實現一個搜索框,該搜索框指向不同的網站幷包含用戶在搜索框中鍵入的查詢。
是它更好地使用:
- 母版頁的代碼隱藏
- 用戶控件
- 或者創建一個單獨的HTML輔助。
UPDATE:
好,每queen3的建議下,我實現了一個SearchController和使用的HTML輔助BeginForm生成一個搜索框。
控制器動作:
Function SearchWiki(ByVal q As String) As ActionResult
Return Redirect("http://home/search/Results.aspx?k=" & q & "&s=IT%20FAQ")
End Function
而且在母版頁:
<% Using Html.BeginForm("SearchWiki", "Search", FormMethod.Post)%>
<input type="text" name="q" />
<input type="submit" value="Search" />
<% End Using%>
但是當我嘗試調試時,SearchWiki的功能不會被調用,並作爲一個結果,沒有任何反應,當我在搜索框中輸入並點擊搜索。
當你說「什麼都沒有發生,當我在搜索框中鍵入並點擊搜索」,你確定它什麼都沒有?沒有HTTP請求? – Larsenal 2010-09-14 19:46:58
安裝FireBug - 這將是你的真正的IDE,而不是VS ;-)或者你可以使用Fiddler2。然後,您將能夠檢查是否發出請求,查看哪些URL,檢查參數等。 – queen3 2010-09-14 21:44:22