【发布时间】:2010-09-14 17:59:14
【问题描述】:
我正在尝试将搜索框添加到 ASP.Net MVC Web 应用程序的母版页。令我困惑的是如何在母版页中正确实现它。那么用户在这个搜索框中输入数据,从 MVC 的角度应该如何处理数据呢?我知道我可以在后面使用他的母版页代码,但我不应该。我目前正在尝试为此使用用户控件,但我不确定如何正确实现它,并且在线资源似乎有限。创建一个 HTML 助手会更好吗??
总结一下:在 MVC 母版页中实现一个搜索框,该搜索框指向不同的网站,并包含用户在搜索框中键入的查询。
是不是更好用:
- 母版页的代码隐藏
- 用户控件
- 或者创建一个单独的 HTML Helper。
更新:
好的,按照 Queen3 的建议,我实现了一个 SearchController 并使用 HTML Helper 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 请求?
-
安装 FireBug - 这将是你真正的 IDE,而不是 VS ;-) 或者你可以使用 Fiddler2。然后您将能够检查是否发出请求、发送到什么 URL、检查参数等。
标签: asp.net-mvc vb.net asp.net-mvc-2 web-applications