Übergabe von unstrukturiertem JSON zwischen jQuery- und MVC Controller-Aktionen
Es gibt eine Menge hilfreicher Informationen zum Binden von MVC-Modellen. Mein Problem rührt von der Tatsache her, dass ich versuche, das Erstellen stark typisierter Daten in meiner MVC-Anwendung zu vermeiden, da diese meistens als Datenrouter fungieren müssen.
Grundsätzlich habe ich eine Reihe von Feldern auf einer Seite mit einer Klasse 'Eingabe', mit der ich sammeln kannjQuery('.input')
, iteriere und stopfe in ein Javascript-Objekt. Ich sende dies dann an meinen ASP.NET MVC-Controller:
var inputData = my_serialize( $('input');
$.ajax({
type:'POST',
url: '/acme/Ajax/CaptureInput',
dataType: "json",
data: { inputData: JSON.stringify(inputData) },
success: Page_Response_RegisterAndDeposit,
error: Page_AjaxError
});
Auf der C # -Seite habe ich
public JsonResult CaptureInput(string inputDataAsJsonString)
{
JavaScriptSerializer JSON = new JavaScriptSerializer();
object inputData = JSON.DeserializeObject(inputDataAsJsonString);
Dies scheint eine verschwenderische Indirektionsebene zu sein. Ich würde es vorziehen, die Daten als contentType: application / json zu übergeben und CaptureInput eine zu akzeptierenobject
oderIDictionary
oder sogar eindynamic
.