我试图将搜索框添加到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