Gewusst wie: übergeben Sie ein javascript-Objekt in eine C# MVC 4 Controllers
In MVC4, wie Sie passieren ein javascript-Objekt in eine C# - controller in AJAX?
Schließlich ich versuchte dieses aber es hat nicht funktioniert.
Javascript-Client-Seite:
var myData = {Propr1: '', Propr2: ''};
$.ajax({
type: 'POST',
data: JSON.stringify(myData),
url: '/Home/SubmitMyData',
contentType: 'application/json',
dataType: 'json',
success: alert('Youhou'),
error: alert('not good')
});
C# Server-side-Methode:
public ActionResult SubmitMyData(MyParamModel myParam)
{
//Do my stuff here with my parameter
return View();
}
public class MyParamModel
{
string Prop1 { get; set; }
string Prop2 { get; set; }
}
Mein parameter ist immer null. Ich habe versucht zu ändern, den contentType, aber es immer noch nicht funktionieren.
Wo sind meine Fehler? Ich fand einige Beiträge, aber ich nicht finde, was ich falsch gemacht habe.
Vielen Dank.
- [msdn.microsoft.com/en-us/magazine/hh781022.aspx](model Bindung) hilfreich wäre, zu wissen, die Grundlagen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Propr1
undPropr2
für das javascript-Objekt, aber im C# - Modell Sie hatteProp1
undProp2
(fehlende "r").stringify
die Daten vor dem senden, und setzen Sie nichtdataType
zujson
. MVC analysieren können gut mit einer Auflistung der post-Parameter, ohne die json-Serialisierung in Ihrem code.contentType
ist es nicht notwendig. WebAPI sollte die automatische Erkennung dieser. Sie können es, aber es ist Fremd.Javascript-Client-Seite:
C# Server-side-Methode:
Den Wert, den du-pass für die
data
Eigenschaft ist ein Objekt, kein string:die Namen der Eigenschaft entsprechen müssen:
müssen Sie die
[FromBody]
- Attribut auf den parameter-Wert:und die Eigenschaften am Modell geben müssen
public
: