2010-09-09 36 views
0

嗨,有人可以为我做一个小例子。Asp.net mvc 2在部分视图中搜索窗体

我想用文本框和提交按钮创建部分视图。 当用户点击提交按钮,我想重定向到以下网址

/搜索/ SEARCHQUERY/

UPDATE

//这是我searchBox.ascx

<% using (Html.BeginForm("Index", "Search", new { area = "eCommerce" }, FormMethod.Post, new { searchTerm = "searchTerm" })) %> 
<% { %> 
<input name="searchTerm" type="search" results="5" placeholder="Product search" autofocus /> 
<input type="submit" value="Search"> 
<% } %> 

这里是我的SearchController

public string Index(string searchTerm) 
    { 
     return "your search term was "+ searchTerm; 
    } 

最后,我图路线

context.MapRoute(
      "Search",           
      "Search/{searchTerm}/",       
      new { controller = "Search", action = "Index", searchTerm = UrlParameter.Optional } 
     ); 

现在它可以使用/搜索/ searcTerm /但是当我使用我的搜索框,它只是重定向/搜索,但我SearchController返回"your search term was test"

回答

2

Html.BeginForm("SearchQuery", "Search") 
{ 
} 

把你的该声明之间的文本字段。 在那里放一个按钮。

就是这样,基本上,大量的例子...

+0

只是为了清楚SearchQuery是用户输入的文本。 我已经在没有任何运气的情况下搜索互联网,但我只需要一个简单的例子。 – gulbaek 2010-09-09 20:43:11

+0

http://stephenwalther.com/blog/archive/2009/03/03/chapter-6-understanding-html-helpers.aspx 向下滚动,直到看到“清单2”。去阅读一本关于ASP.NET MVC现在:) – Bertvan 2010-09-09 20:56:12

+0

几乎没有 添加以下代码 context.MapRoute( “搜索”, “搜索/ {} SEARCHTERM /”, 新{控制器= “搜索” ,action =“Index”,searchTerm = UrlParameter.Optional} ); public string Index(string searchTerm) { return“您的搜索条件是”+ searchTerm; } 这使我可以输入像/ Search/Hello /这样的url,并获得一个很好的searchterm =“Hello”。 – gulbaek 2010-09-09 21:46:13