An MVC Controller senden, ViewModel bleibt null

Ich habe diese ASP.NET MVC-Controller-Aktion und das Ansichtsmodell:

public JsonResult Upload(UploadModel MyModel)
{
    //do stuff with MyModel
}

public class UploadModel
{
    public string Name;
}

Und in Angular eine Methode zum Senden eines Formulars an diese Aktion:

function onSubmit() {
     console.log(vm.model);
     $http.post('/Home/Upload', vm.model).
     then(function (response) 
     { 
         // do stuff with response 
     }); 
};

Wenn ich vm.model anmelde, sieht es so aus:

{ Name : "Some cool name" }

In der Nutzlast der Anfrage sieht es genauso aus. Wenn ich dieses Objekt jedoch in der Upload-Methode poste, scheint der Name null zu sein. Wenn ich jedoch die Upload-Methode so ändere, dass nur eine Zeichenfolge anstelle eines Ansichtsmodells akzeptiert wird:

public JsonResult Upload(String Name)
{
    //do stuff with Name
}

Und poste genau das gleiche Objekt, es wird erkannt.

Was ist los? Warum erkennt MVC mein JS-Objekt nicht als Ansichtsmodell?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage