2009-07-16 40 views
5

我遇到了麻煩做一些可能很簡單!歧義行爲方法 - ASP.net MVC

我有一個股票上市,通過1)一個簡單的形式與參數(\索引)和2)一個名爲局部視圖,顯示股票列表(基於參數)的ajax。

在這個相同的簡單形式(\ Index)我有一個「Add Stock」方法的操作鏈接,該方法調用另一個表單來添加庫存。
當用戶完成添加股票時,我將它們重定向回股票列表頁面(\ Index)。

我的問題是,我想「記住」了,因此用戶並不僅僅針對回頁空白參數迫使他們重新輸入他們以這種形式最初輸入的參數。

我想我可以簡單地重載索引方法,例如:

Function Index() As ActionResult 

    Return View(New Stock_ViewModel) 

End Function 

Function Index(ByVal svm As Stock_ViewModel) As ActionResult 

    Return View(svm) 

End Function 

我得到這個錯誤:The current request for action 'Index' on controller type 'StockController' is ambiguous between the following action methods:...

現在我已閱讀this post它的答案,但如何實現我想不通的解。

該解決方案適用於我的情況嗎?有沒有更好的辦法來達到我想要做的事情?

在此先感謝您的幫助!

回答

0

看來他的問題是比你更復雜。而不是他創建的RequiredRouteValues類,您應該可以使用Levi創建的RequiredRequestValue屬性。

你必須自己轉換爲vb.net,但堅持Levi的答案,而不是路由修改。

詹姆斯

3

您需要裝點你這樣的方法:

Function Index() As ActionResult 
    Return View(New Stock_ViewModel) 
End Function 

<RequireRouteValues("svm")> _ 
Function Index(ByVal svm As Stock_ViewModel) As ActionResult 
    Return View(svm) 
End Function 
+0

葉,這就是它在其他帖子裏說.....如果我這樣做,它不知道是什麼是 - 「類型RequireRouteValues沒有定義」什麼......我錯過了嗎? – wheelibin 2009-07-16 11:08:18

+0

這是一個自定義屬性(代碼位於您鏈接的問題中) – NikolaiDante 2009-07-16 11:11:49