代码之家  ›  专栏  ›  技术社区  ›  hud

Dropdownlist未使用angular JS设置值

  •  0
  • hud  · 技术社区  · 5 年前

    dropdownlist 使用 MVC angular JS .

    var app1 = angular.module('Assign', [])
    app1.controller('SAPExecutive_R4GState', function ($scope, $http, $window) {
       // alert(UMSLocationDetails);
        var LocObj = JSON.parse(UMSLocationDetails)
        var ZoneValue = "";
        $.each(LocObj, function (index, element) {
            ZoneValue += element.LocationID + ",";
        });
    
        ZoneValue = ZoneValue.substr(0, ZoneValue.length - 1);
        var Values = { "MaintZones": ZoneValue };
    
        alert(JSON.stringify(Values));
    
        $scope.DefaultLabel = "Loading.....";
        $http({
            method: "POST",
            url: "/App/GetR4GStates",
            dataType: 'json',
            data: JSON.stringify(Values),
            headers: { "Content-Type": "application/json" }
    
        }).success(function (result) {
            $scope.DefaultLabel = "--Select--";
            $scope.State = data;
        });
    
        post.error(function (data, status) {
            $window.alert(data.Message);
        });
    });
    <select id="SAPExecutive_R4GState" class="form-control" ng-model="R4GState.Selected" ng-controller="SAPExecutive_R4GState as R4GState" ng-init="Select" ng-options="b for b in list">
                                        </select>

    还有我的CS代码

    [HttpPost]
        public JsonResult GetR4GStates(string MaintZones)
        {
            List<SelectListItem> lstR4GState = new List<SelectListItem>();
            try
            {         
                Filters ObjFilter = new Filters();
                DataTable dt = ObjFilter.GetR4GState(MaintZones);
                if (dt.Rows.Count > 0)
                {
                    lstR4GState = (from DataRow dr in dt.Rows
                                   select new SelectListItem()
                                   {
                                       Text = Convert.ToString(dr["R4GSTATENAME"]),
                                       Value = Convert.ToString(dr["R4GSTATECODE"])
    
                                   }).ToList();
                }
                else
                {
    
                    SelectListItem slEmptyData = new SelectListItem();
                    slEmptyData.Text = "No Data found";
                    slEmptyData.Value = "No Data found";
                    lstR4GState.Add(slEmptyData);
                }
            }
            catch (Exception e)
            {
            }
            // ErrorLog.HandleErrorLog("", "", "GetR4GStates", "Error2");
            return Json(lstR4GState);
        }
    

    我得到了价值观 return Json(lstR4GState); 但是下拉列表中没有设置这些值。

    请告诉我哪里出了问题,因为我是新手

    2 回复  |  直到 5 年前
        1
  •  1
  •   Rafael Herscovici    5 年前

    建议用户使用 THEN CATCH AngularJS &燃气轮机;1.5 这应该起作用:

    angular.module('Assign', [])
      .controller('SAPExecutive_R4GState', function($scope, $http, $window)  {
        const payload = {};
        $http.get('https://dog.ceo/api/breeds/list/all', payload)
          .then(function(response) {
          // Please be aware RESPONSE contains the whole response.
          // You probably want RESPONSE.DATA
            console.log(response.data);
          })
          .catch(function(err) {
            // do something with err message });
          });
      });
    <script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.7.5/angular.min.js"></script>
    <div ng-app="Assign" ng-controller="SAPExecutive_R4GState"></div>

    请注意,此示例使用 GET 在一个 收到 payload 将添加为 querystring 如果你把它改成 $http.post ,有效负载将添加到请求主体中。