Przekazywanie nieustrukturyzowanego JSON między jQuery i MVC Controller Actions
Istnieje wiele przydatnych informacji na temat wiązania modelu MVC. Mój problem wynika z faktu, że staram się unikać tworzenia silnie wpisanych danych w mojej aplikacji MVC, ponieważ w większości przypadków musi ona działać jako router danych.
Zasadniczo mam na stronie zestaw pól z klasą „input”, z którym mogę się zbieraćjQuery('.input')
, iteruj i przechodź do obiektu javascript. Następnie wysyłam to do mojego kontrolera ASP.NET MVC:
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
});
Po stronie C # mam
public JsonResult CaptureInput(string inputDataAsJsonString)
{
JavaScriptSerializer JSON = new JavaScriptSerializer();
object inputData = JSON.DeserializeObject(inputDataAsJsonString);
Wydaje się, że jest to marnotrawny poziom przekierowania, wolałbym przekazać dane jako contentType: application / json i mieć CaptureInput zaakceptowaćobject
lubIDictionary
lub nawetdynamic
.