我在工作中首次使用ASP.NET MVC 2,感觉像是一个noob。如何实现在同一页面上显示结果的搜索页面?
我有一个包含客户搜索控件/局部视图的页面。该控件是一个文本框和一个按钮。您在文本框中输入客户ID并点击搜索。该页面然后“刷新”并在相同页面上显示客户详细信息。换言之,客户详细信息显示在客户搜索控件下方。
这样,如果客户不是正确的,用户可以再次搜索而不会在浏览器中回击。或者,他们可能错误输入了客户ID,需要重试。
我想要的网址看起来像这样:
/Customer/Search/1
很显然,这是继该项目的默认路由。
现在,如果我直接在浏览器中输入上面的URL,它就可以正常工作。但是,当我使用该页面上的搜索控件搜索客户2时,该页面会刷新正确的客户详细信息,但URL不会更改!它保持为
/Customer/Search/1
当我想这是
/Customer/Search/2
我怎样才能得到它更改为正确的网址是什么?
我只在Global.asax中使用默认路由。
我的搜索方法是这样的:如果你没有带已经
<AcceptVerbs(HttpVerbs.Get)> _
Function Search(ByVal id As String) As ActionResult
Dim customer As Customer = New CustomerRepository().GetById(id)
Return View("SearchResult", customer)
End Function
谢谢您的回答。但是,我无法确定我应该使用RedirectToRoute。你能提供一个例子吗? – Andrew 2010-03-18 00:17:22
@Andrew,如果你不明白RedirectToRoute在哪里,你应该从头再来。 – jfar 2010-03-18 03:59:15
@jfar - 我理解如何在基本术语中使用RedirectToRoute。事实上,我之前使用过它们。但是,在这种情况下,我无法看到我会在哪里使用它。一个例子会真正帮助我理解在这种情况下我会在哪里使用它。 – Andrew 2010-03-18 05:04:12