【发布时间】:2019-02-04 13:41:17
【问题描述】:
我有一个要求,我想使用MVC 和angular JS 绑定dropdownlist。
我尝试如下
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); 中获取值,但未在下拉列表中设置值。
由于我是 Angular 新手,请建议我哪里出错了
【问题讨论】:
-
什么版本的AngularJS?
$http.post('URL', Values).then(response => { $scope.State = response.data; }).catch(err => { // do something with err message }); -
@Dementic:我不确定,但我猜可能是 5.. 那是什么代码??
-
Angular5和AngularJS是不同的东西,代码是AngularJS -
不确定 Angular 版本,但肯定是 angularjs。如果可能,请将其发布为答案,从这里很难理解
-
你可以用列表对象编写 ng-repeat,但在控制器中你没有提到列表对象
标签: javascript angularjs model-view-controller html-select