在我的MVC 5 Razor视图中,我创建了一个隐藏字段,如下所示:
@Html.HiddenFor(x => x.FormData.UserId,
new { ng_model = "selectedEmployee.userId" })
当我执行必要的角度操作以填充selectedEmployee.userId
属性时,隐藏的输入值不会被填充。
但是,当我将其更改为
时@Html.TextBoxFor(x => x.FormData.UserId,
new { ng_model = "selectedEmployee.userId" })
它正在运行,数据已发布到服务器。
和
<input type="hidden" name="FormData.UserId" value="{{selectedEmployee.userId}}">
正在运作,但
@Html.HiddenFor(x => x.FormData.UserId,
new { value = "{{selectedEmployee.userId}}" })
不是。 (这可能与Razor覆盖HTML值有关)
在Razor中,使用ng-model的隐藏输入无法正常工作的原因是什么?
答案 0 :(得分:8)
请将值更改为ng_value
@Html.HiddenFor(x => x.FormData.UserId,
new { ng_value = "{{selectedEmployee.userId}}" })
答案 1 :(得分:2)
以下是如何为隐藏字段指定值。 &#39; V&#39; 值属性的字符必须为大写字母。
<div data-ng-controller="MyFunction">
@{Html.BeginForm("SchoolMedium", "BasicSetup", FormMethod.Post, new { });
@Html.HiddenFor(s => s.SchoolMediumId, new { Value = "{{mascotmedium.SchoolMediumId}}" });
Html.EndForm();
}
并在控制器中
$scope.EditWhenAdded= function(row){
$scope.mascotmedium = row.entity;
};