方案
我正在使用Angular,纯粹用于我的前端验证和MVC模型绑定
示例
<div ng-class="{'has-error': Contact.FirstName.$invalid}">
<input type="text"
name="@Html.NameFor(m => m.FirstName)"
id="@Html.IdFor(m => m.FirstName)"
value="@Model.FirstName"
ng-model="model.person.firstName"
required />
</div>
问题
MVC在回发时填充了 value
,但由于model.person.firstName
最初为null
,因此当文档完成加载时,该值将被清除,并且angular已刷新所有值{&1;}进入视野的魔力。
问题
如何保留ng-model
(为了保持验证工作)并预先填充字段的value
?
答案 0 :(得分:0)
值必须在控制器中初始化,而不是在视图中。
您可以尝试ng-init
。见this issue
另一种方法是直接在.cshtml
标记的<script></script>
文件中创建服务。使用Razor填充服务数据,然后使用Angular控制器获取此值。
在我看来,第二种方式更清晰。