我對應用程序使用Asp.MVC 5,我想用不同的angularjs模型生成很多複選框,我認爲最好的選擇是在angularjs中使用數組模型。我想下面的代碼foreach
內:使用asp.mvc在angularjs中使用數組模型的複選框
@{
int i = 0;
foreach (var selectedVesselViewModel in Model.SelectedVesselViewModels)
{
using (Html.BeginForm("SelectNotificaiton", "Admin", new { area = "DashBoard" }, FormMethod.Post, new { id = "filterVesselsForm_" + i}))
{
@Html.HiddenFor(item => selectedVesselViewModel.VesselId, new {ng_model= "SelectedVessels[" + i + "].VesselId" })
<li class="row">
<div class="col-md-10">
<a href="#" class="text-admin-area">
@selectedVesselViewModel.VesselName
</a>
</div>
<div class="col-md-2">
<div class="pull-right">
<div class="checkbox checkbox-inline">
@Html.CheckBoxFor(item => selectedVesselViewModel.Selected,
new {id = "SelectedVesselViewModels_"+i+"__Selected",
onchange ="document.getElementById('filterVesselsForm_"+i+"').submit()",
ng_model = "SelectedVessels[" + i + "].Selected"
})
<label for="[email protected](i++)__Selected"></label>
</div>
</div>
</div>
</li>
}
}
}
i
變量是遞增的變量:
在angularjs控制器我有這樣的事情:
(function (app) {
"use strict";
app.controller("DashboardCtrl", ['$scope',
function ($scope) {
function init() {
// $scope.SelectedVessels = [];
}
$scope.SelectedVessels = [];
init();
$scope.RefreshSideBarVessels = function() {
angular.forEach($scope.SelectedVessels, function (value, key) {
alert($scope.SelectedVessels[key].VesselId);
});
}
}]);
})(adminModule);
當我使用angularjs foreach循環$scope.SelectedVessels
似乎是空的,但我不知道爲什麼!
angular.forEach($scope.SelectedVessels, function (value, key) {
alert($scope.SelectedVessels[key].Selected);
});
有誰知道哪裏出了問題,爲什麼我不能訪問$scope.SelectedVessels
陣列的內部性能,它爲什麼是空的?
哪裏在$ scope.SelectedVessels被填充的代碼中? – yesIcan
在控制器中。我嘗試在ng-init中,但沒有工作 –
你的問題目前還不清楚。你可以分享你的代碼,如果可能的話,通過plunker或jsfiddle? – yesIcan