Опубликовать анонимный объект в MVC Action - PullRequest
0 голосов
/ 17 мая 2018

Я создаю приложение MVC, где мне нужно выставить действие, которое будет принимать 2 параметра.Первый параметр будет строковым типом, а второй будет объектом.Основываясь на первом значении параметра, я проанализирую объект.Я пытаюсь сделать что-то подобноепредмет.Я попробовал отражение, но не повезло.

Ответы [ 3 ]

0 голосов
/ 17 мая 2018

Попробуйте (используйте динамический ) public JsonResult SaveLookup(string lookupType, dynamic objLookup)

0 голосов
/ 17 мая 2018

Попробуйте и посмотрите.

var itemsSerialized = JsonConvert.SerializeObject(objLookup);
User uObject = (User)JsonConvert.DeserializeObject<User>(itemsSerialized);
0 голосов
/ 17 мая 2018

@ Мохд Ансари, это похоже на проблему в вашем клиентском скрипте.

Использовать сторону клиента как

function SaveLookup() {
    debugger;
    var userData = {};
    userData.lookupType = "Users";
    userData.objLookup =  JSON.stringify({ "UserID": 1, "UserCode": "XYZ", "FirstName": "FName", "LastName": "LNAme", "IsActive": "1", "UserRole": "2" });
  //  console.log(JSON.stringify(userData));
    $.ajax({
        url: '/home/SaveLookup',
        dataType: 'json',
        type: 'POST',
        contentType: 'application/json;charset=utf-8',
        data: JSON.stringify(userData),
        success: function (result) {
            debugger;
        },
        error: function (xhr) {
            debugger;
            alert(xhr);
        }
    });
}

, а код вашего контроллера должен быть

    [HttpPost]
    public JsonResult SaveLookup(string lookupType, string objLookup)
    {
        User uObject = new User();
        if (lookupType == "Users")
           uObject =JsonConvert.DeserializeObject<User>(objLookup);
        return Json("");
    }

Дайте мне знать, что логика работает для вас?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...