我在工作中首次使用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