2016-04-21 3 views
0

Ich weiß, dass ich das schon getan haben, und es hat funktioniert, aber wenn ich heute erstellt zwei Methoden in meinem Controller und bin immer ..ASP.NET MVC mehrdeutige Aktion Methoden Signaturen und unterscheiden sich mit get/post

die aktuelle Anforderung für action ‚ContactUs‘ auf Regler Typ ‚Homecontroller‘ ist zwischen den folgenden Aktionsmethoden mehrdeutig:

System.Web.Mvc.ActionResult ContactUs() auf Typ Homecontroller System.Web.Mvc.ActionResult ContactUs (ContactUs) am Typ HomeController.

Hier sind meine beiden verschiedenen mit Post/Get.

<HttpGet> 
Function ContactUs() As ActionResult 
Dim objModel As New ContactUsModel 

    Return View(objModel) 
End Function 

<HttpPost> 
Function ContactUs(ByVal Model As ContactUs) As ActionResult 
    Dim a As String = "" 
    Return View(Model) 
End Function 

Was ich nicht verstehe, ist, wie diese mehrdeutig sein könnte, da sie unterschiedliche Signaturen und sind mit Pfosten verziert/bekommen.

+0

In welchem ​​Kontext bekommen Sie diese Ausnahme? – Andrei

+0

Ich bekomme den Fehler, wenn ich nur versuche, auf die Seite unter/home/contactus zu gehen. Was, wenn ich die zweite Methode (Post) entferne, lädt die Seite gut. –

+2

Stellen Sie sicher, dass Sie MVC-Attribute btw verwenden, da Attribute mit genau den gleichen Namen im 'System.Web.Http'-Namespace vorhanden sind. Sobald Sie sie benötigen, befinden sie sich in 'System.Web.Mvc' – Andrei

Antwort

0

Andrei hatte die Lösung. Aus irgendeinem Grund verwendete es das System.web httppost und httpget. SO musste ich jede Methode mit dekorieren.

<System.Web.Mvc.HttpPost> 
Verwandte Themen