MVC和Angular之间的绑定值

时间:2016-10-03 15:53:18

标签: asp.net angularjs asp.net-mvc

方案

我正在使用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

1 个答案:

答案 0 :(得分:0)

值必须在控制器中初始化,而不是在视图中。

选项1:

您可以尝试ng-init。见this issue

选项2:

另一种方法是直接在.cshtml标记的<script></script>文件中创建服务。使用Razor填充服务数据,然后使用Angular控制器获取此值。

  

在我看来,第二种方式更清晰。