Ich habe eine Klasse in meinem Webprojekt:
%Vor%was ein Parameter in meiner Controller-Methode ist:
%Vor%Wenn ich die Methode mit POST aufrufen, funktioniert die Modellbindung automatisch (ich verwende angular auf der js-Seite, was wahrscheinlich keine Rolle spielt):
%Vor%Wenn ich ein GET verwende, ist der Parameter immer Null im Controller.
%Vor%Funktioniert die komplexe Modellbindung mit dem Standardmodellbinder nur für POSTs, oder kann ich etwas dafür tun, dass dies mit einem GET funktioniert?
Die Antwort ist Ja. Der Unterschied zwischen GET- und POST-Anfragen besteht darin, dass ein POST-Body einen Inhaltstyp haben kann, damit er auf der Serverseite korrekt als XML oder Json usw. interpretiert werden kann; Für GET ist alles, was Sie haben, nur ein Querystring.
Mit ASP.NET MVC können Sie Ihr Modell tatsächlich an eine GET-Anforderung binden, so lange Sie die gleichen Abfragezeichenfolgen-Parameternamen wie die Eigenschaftsnamen Ihrer Modellklasse haben . Beispiel aus dieser Antwort :
%Vor%Sie können eine Get-Anfrage wie folgt machen
%Vor%und MVC bindet automatisch Ihr Modell:
%Vor%Tags und Links asp.net-mvc javascript angularjs c# model-binding