2009-07-16 36 views
5

私はおそらくかなりシンプルなことをするのに苦労しています!あいまいなアクションメソッド - ASP.net MVC

私は、1)パラメーター(\ Index)を持つ単純なフォームと、2)ストックのリストを表示する部分ビューと呼ばれるajax(パラメーターに基づいて)によって行われる株価リストを持っています。

この同じ簡単な書式(\ Index)では、在庫を追加するための別のフォームを呼び出す「在庫の追加」メソッドへのアクションリンクがあります。
ユーザーが株式の追加を終了すると、株価リストページ(\ Index)にリダイレクトされます。

私の問題は、このフォームに最初に入力されたパラメータを「記憶」して、ユーザーが空白のパラメータを持つページに戻って再度入力する必要がないことです。

私は単になどの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に変換する必要がありますが、ルートの変更ではなく、リーバイスの答えに固執する必要があります。

ジェームズ

+0

RequireRouteValuesを使用している場合と同様に、自分で属性を作成する必要があります。ソースはLeviの答えに含まれています(C#で)。 –

+0

お時間をありがとうJames、私はLeviの投稿ごとに単純なRequiredRequestValueを実装しました。 – wheelibin

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

+0

これはカスタム属性です(コードはリンク先の質問にあります) – NikolaiDante

関連する問題