Empfangen von JSON als MVC 5-Aktionsmethodenparameter

Ich habe den ganzen Nachmittag versucht, im Web nach einem JSON-Objekt im Aktionscontroller zu suchen.

Was ist der richtige oder einfachere Weg, dies zu tun?

Ich habe Folgendes versucht: 1:

    //Post/ Roles/AddUser
    [HttpPost]
    public ActionResult AddUser(String model)
    {
        if(model != null)
        {
            return Json("Success");
        }else
        {
            return Json("An Error Has occoured");
        }

    }

Das gab mir einen Nullwert bei meiner Eingabe.

2:

    //Post/ Roles/AddUser
    [HttpPost]
    public ActionResult AddUser(IDictionary<string, object> model)
    {
        if(model != null)
        {
            return Json("Success");
        }else
        {
            return Json("An Error Has occoured");
        }

    }

Was gibt mir einen Fehler von 500 auf der JQuery-Seite, die versucht, darauf zu posten? (was bedeutet, dass es nicht richtig gebunden wurde).

Hier ist mein jQuery-Code:

<script>
function submitForm() {

    var usersRoles = new Array;
    jQuery("#dualSelectRoles2 option").each(function () {
        usersRoles.push(jQuery(this).val());
    });
    console.log(usersRoles);

    jQuery.ajax({
        type: "POST",
        url: "@Url.Action("AddUser")",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        data: JSON.stringify(usersRoles),
        success: function (data) { alert(data); },
        failure: function (errMsg) {
            alert(errMsg);
        }
    });
}

Alles, was ich tun möchte, ist, mein JSON-Objekt in meiner MVC-Aktion zu empfangen.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage