Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 将搜索框添加到母版页_Asp.net Mvc_Vb.net_Asp.net Mvc 2_Web Applications - Fatal编程技术网

Asp.net mvc 将搜索框添加到母版页

Asp.net mvc 将搜索框添加到母版页,asp.net-mvc,vb.net,asp.net-mvc-2,web-applications,Asp.net Mvc,Vb.net,Asp.net Mvc 2,Web Applications,我正在尝试向ASP.NETMVCWeb应用程序的母版页添加搜索框。让我困惑的是如何在母版页中正确地实现它。因此,用户在这个搜索框中输入数据,如何从MVC的角度处理数据??我知道我可以使用母版页的代码,但我不应该。我目前正在尝试使用一个用户控件来实现这一点,但我不确定如何正确地实现它,而且在线资源似乎很有限。创建HTML助手是最好的吗 总结:在MVC母版页中实现一个搜索框,该搜索框指向不同的网站,并包含用户在搜索框中键入的查询 是否最好使用: 母版页的代码隐藏 用户控件 或者创建一个单独的HTM

我正在尝试向ASP.NETMVCWeb应用程序的母版页添加搜索框。让我困惑的是如何在母版页中正确地实现它。因此,用户在这个搜索框中输入数据,如何从MVC的角度处理数据??我知道我可以使用母版页的代码,但我不应该。我目前正在尝试使用一个用户控件来实现这一点,但我不确定如何正确地实现它,而且在线资源似乎很有限。创建HTML助手是最好的吗

总结:在MVC母版页中实现一个搜索框,该搜索框指向不同的网站,并包含用户在搜索框中键入的查询

是否最好使用:

  • 母版页的代码隐藏
  • 用户控件
  • 或者创建一个单独的HTML帮助程序
更新:

好的,按照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函数从未被调用,因此,当我在搜索框中键入并点击搜索时,不会发生任何事情。

如果要使用ASP.NET MVC,请忘记代码隐藏和用户控件。您需要HTML、CSS和JavaScript

我想你想要像这样的东西

<form action="<%= Url.Action("Index", "Search") %>" method="post">
   <input type="text" name="q" />
</form>
<% Html.BeginForm("Index", "Search") %>
   <input type="text" name="q" />
<% Html.EndForm() %>
总结:实现一个搜索框 在MVC母版页中,指向 另一个网站,包括 他们在中键入的用户查询 搜索框

似乎您想使用不同的搜索提供程序。在这种情况下,您根本不需要任何服务器端代码。。。只有纯html。我给你举一个谷歌的例子:

<form id="search" action="http://www.google.com.br/search" method="GET">
    <input type="text" name="q" />
    <input type="submit" value="Submit" />
</form>

当你说“当我在搜索框中输入并点击搜索时,什么都没有发生”,你确定这真的什么都没有吗?未发出HTTP请求?安装FireBug-这将是您真正的IDE,而不是VS;-)或者,您可以使用Fiddler2。然后,您将能够检查是否发出了请求、发送到什么URL、检查参数等。
<form id="search" action="http://www.google.com.br/search" method="GET">
    <input type="text" name="q" />
    <input type="submit" value="Submit" />
</form>
$("#search").submit(function(){
    var input = $(this).find('input[name=q]');
    var query = input.val() + ' site:www.yoursite.com';
    input.val(query);
});