4 Stimmen

ASP.NET MVC2 und JSON-Modellbindung mit Validierung an eine Aktionsmethode

Phil Haack's Blogeintrag beschreibt diesen Prozess anhand der Futures von ASP.NET MVC 2 und der Crockford's json2.js . John Resig empfiehlt auch die Verwendung von Crockfords json2.js in dieser Artikel in Bezug auf die "strikte Anwendung";.

Um diese Funktion heute zu erhalten, würden Sie noch die MVC 2 Futures herunterladen, oder ist dies in der MVC 2 endgültig enthalten, oder ist dies Teil der neuen MVC 3 Vorschau?

編集する。

Wie von Jakub vorgeschlagen (und Phil Haack, woot!), funktioniert mein Skript endlich. Ein großes Dankeschön an beide.

<script type="text/javascript">
$(document).ready(function () {

    var myData = {};
    myData.value = '9/14/2010 12:00:00 AM';
    var myJson = JSON.stringify(myData);

    $.ajax({
        type: "POST",
        url: "/AdSketch/GetPrintProducts",
        data: myJson, 
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (result) {
            alert(result);
        }
    });
});
</script>

Der MVC-Controller-Code:

public JsonResult GetPrintProducts(string value)
{   // At this point "value" holds "9/14/2010 12:00:00 AM"
    return Json(value);
}

3voto

Jakub Konecki Punkte 44858

Für MVC2 benötigen Sie Futures. Holen Sie sich die dll, fügen Sie einen Verweis auf sie und in Global.asax hinzufügen (Application_Start):

ValueProviderFactories.Factories.Add(new JsonValueProviderFactory());

Ich weiß nicht, wie es mit MVC3 aussieht - ich warte noch auf eine RTM. Aber ich ermutige dich, es auszuprobieren, da das Senden von JSON an Actions eine reine Wonne ist ;-)

2voto

Dariusz Punkte 13548

In MVC 3 gibt es ValueProviderFactories aus der Schachtel heraus bereitgestellt.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X