0
這個想法是當我點擊帳戶,一個模式將彈出,系統菜單將在下拉列表中。我的問題是,當我在控制器中發送它時,我在表單中作爲隱藏類型創建的帳戶ID沒有任何價值。AngularJS:隱藏ID不在控制器發送
這裏是我的形式:
<form novalidate name="addMenusforuser" ng-submit="addMenuData(addMenusforuser)">
<table>
<tr>
<input type="hidden" name="account_info_id" ng-model="masterlist.account_info_id" value="masterlist.account_info_id">
<th>
System Menus
</th>
<td>
<select class="form-control" ng-model="masterlist.system_menus_id" ng-options="c.system_menus_id as c.sm_description for c in menus" required></select>
</td>
</tr>
</table>
<button type="submit" class="btn btn-primary" id="addbtn">Add</button>
</form>
我AngularJS:
/**Add Menu to database*/
$scope.addMenuData = function (form) {
if (!form.$valid) {
alert("fill-up everything.");
return false;
}
var formData = [];
for (index in $scope.masterlist) {
formData.push({ "name": index, "value": $scope.masterlist[index] });
}
$http.post('/Accounts/AddMenusForUser', $.param(formData)).then(function (response) {
if (form) {
form.$setPristine();
form.$setUntouched();
}
angular.element("#addMenu").modal("hide");
$scope.display();
});
}
這裏是我的MVC控制器,其中account_info_id爲空:
public ActionResult AddMenusForUser(int system_menus_id = 0, int account_info_id = 0)
{
var check = db.System_Menu_Roles.Where(x => x.system_menus_id == system_menus_id && x.account_info_id == account_info_id).FirstOrDefault();
if (check == null)
{
System_Menu_Roles smr = new System_Menu_Roles();
smr.account_info_id = account_info_id;
smr.system_menus_id = system_menus_id;
smr.active_flag = true;
db.System_Menu_Roles.Add(smr);
db.SaveChanges();
}
return null;
}
能有人給我提意見我將如何解決這個問題?提前致謝。
之前$ http.post。你可以記錄'$ scope.masterlist'並查看'$ scope.masterlist.account_info_id'是否存在。如果它沒有定義它不會被髮送 –
反正,我只是修改我的代碼,它現在正在工作。 – Jen143Me