Передача данных из Angular в контроллер MVC десериализует пустую модель представления - PullRequest
0 голосов
/ 23 июня 2018

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

Вот угловой контроллер

  $scope.createNorm = function () {

    var norma = {};
    norma.IdType = -1;

    createDialog({
        title: "Creazione di una nuova norma",
        template: NormeService.dialogTemplate,
        okLabel: "Salva",
        controller: ["$scope", "NormeService", function ($scope, NormeService) {

            $scope.aziende = [];
            $scope.tipoNorme = [];

            var init = function () {

                NormeService.getCompanyList().then(function (response) {
                    var arr = response.data.Items || [];
                    var aziende = [];
                    for (var i = 0; i < arr.length; i++) {
                        aziende.push({
                            Text: arr[i].Value,
                            Value: arr[i].Id
                        });
                    }
                    $scope.aziende = aziende;
                });

                NormeService.getNormTypesList().then(function (response) {

                    var arr = response.data || [];
                    var tipoNorme = [];
                    for (var i = 0; i < arr.length; i++) {
                        tipoNorme.push({
                            Text: arr[i].NAME,
                            Value: arr[i].ID
                        });
                    }

                    console.log(tipoNorme);
                    $scope.tipoNorme = tipoNorme;
                });

            };
            init();

            $scope.norma = angular.copy(norma);
            $scope.value = $scope.norma;
        }]
    }).then(function (result) {
        $scope.save(result);
    }, function () { });
};

угловой сервис

 save: function (data) {

            $http.post(baseUrl + "/save-norm2", { Norm:data});
        },

Шаблон данных сервиса

  dialogTemplate: [
            '<advancedselect options="tipoNorme" label="Tipo norma" ng-model="norma.IdType" type="text" ng-required="false" form-model="frm" />', /*ng - required="true"*/

Модель MVC Viewmodel

public class TempViewModel
{
 public int IdType { get; set; }
}

и контроллер MVC

   [System.Web.Http.HttpPost]
    [System.Web.Http.Route("save-norm2")]
    public IHttpActionResult SaveNorm(TempViewModel Norm)
    {
        return Ok(true);
    }

Я исправил значение в части браузера, как вы можете видеть на скриншоте.

enter image description here

Когда он достигает контроллера в MVC-части, он становится равным 0 как IdType

Что я делаю не так?

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