OK、プロジェクトの役割データを示すチェックボックス リストがあります。これらの役割を取得するために、以下でこれを行っています。
$scope.Roles = [];
$scope.init = function() {
$.get('/Navigation/NavigationNewDependencies', {}, function(result) {
for (var I = 0; I < result.Roles.length; ++I) {
var splited = result.Roles[I].split(";");
$scope.Roles.push({ id: splited[0], name: splited[1], checked: false });
}
$scope.$apply();
});
}
そして、このように示します:
<div>
Roles:
<ul data-ng-repeat="role in Roles">
<li><input type="checkbox" data-ng-model="role.checked" />{{role.name}}</li>
</ul>
</div>
わかりました、正常に動作します。フォームでこれらのチェックされたロールをアクションに送信したいのですが、わかりますか? どうすればいいですか?
以下のように POST を実行しようとしています。
$scope.getSelectedRoles = function () {
var selectedRoles = [];
for (var I = 0; I < $scope.Roles.length; ++I) {
if ($scope.Roles[I].checked == true) {
var role = $scope.Roles[I];
selectedRoles.push({ RoleId: role.id, RoleName: role.name });
}
}
return selectedRoles;
}
$scope.submit = function () {
$.post('/Navigation/New', {
title: $scope.model.NavigationName,
description: $scope.model.NavigationDescription,
controller: $scope.model.NavigationController,
action: $scope.model.NavigationAction,
roles: $scope.getSelectedRoles()
}, function (result) {
if (result.IsValid) {
window.location.href = result.ReturnUrl;
} else {
alert(result.Message);
}
});
}
...しかし、フォームで適切なロールを選択できません。
最初:計算されたプロパティなどで選択したロールを取得するにはどうすればよいですか?
2 番目: この選択された役割を受け取るための適切なパラメーターはparams int[] roles
?
皆さん、ありがとうございました!