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?