私はMVCコントローラを持っていて、「作成」ビューにリンクしています。WebAPI-MVCのGETメソッドとPOSTメソッドを明確にすることはできます
いくつかの前処理を行い、ビューを表示し、次に「POST」メソッドを使用してデータベースを適切に更新するために、「GET」メソッドが必要です。
いくつかのガイドを読んで、それで答えを得た後、次のようなものが正しい解決策だと思います。しかし
<HttpGet>
Public Function Create() As ActionResult
'Do Stuff
Return View(New MyClass)
End Function
<HttpPost>
Public Function Create(MyObject As MyClass) As ActionResult
'Process results
End Function
、私は http://my.site/MyController/Createにアクセスしようと、私は例外を取得:
System.Reflection.AmbiguousMatchException: The current request for action 'Create' on controller type 'MyControllerController' is ambiguous
エンジンは、彼らがGETとPOSTに設定されている場合でも、両者の間に決めることができなかったかのように
。私はここで間違っていますか?
投稿したコードに問題はありません。私はErikの答えに同意する傾向があります。実際には適用されません。また、FWIWでは、 'HttpGet'を指定する必要はありません。これがデフォルトです。 –
@ChrisPratt - それはちょうどデフォルトではありません。それはキャッチオールのようなものです。動詞を指定しないと、すべての動詞に使用されます。したがって、取得または投稿を指定することはできますが、そのいずれかを区別する必要があります。 –