我正在使用MVC Razor View和AngularJS。
我在控制器中创建UserMaster对象并传递给视图
Function AddNewUser() As ActionResult
Dim objUser As New UserMaster()
Return View("UserMaster", objUserMaster)
End Function
在视图中,通过使用HTML帮助程序类,将创建文本框和验证控件
@<div ng-app ng-controller="UserController">
@Html.EditorFor(Function(model) model.UserName)
@Html.ValidationMessageFor(Function(model) model.UserName)
在客户端使用以下语句创建AngularJS模型
<script type="text/javascript">
function UserController($scope, $http) {
$scope.UserData = @Html.Raw(Json.Encode(Model));
}
</script>
服务器端验证(我在UserMaster类中编写)在客户端工作正常,剃刀引擎通过生成客户端验证脚本自动执行此操作。
提交后,我会自动在服务器端获得蓬勃发展的模型。
但是我无法使用AngularJS(通过使用$ scope.UserData.UserName)在客户端操作/获取模型数据。我想在用户使用angular JS修改文本框时访问UserName值。如何?
答案 0 :(得分:2)
可以通过在MVC-5中使用htmlAttributes来实现
@Html.EditorFor(Function(model) model.UserName, New With {Key .htmlAttributes = New With {Key .ng_model = "model.UserName"}})
我们必须使用 ng-model ng-model ,MVC将在运行时呈现为 ng-model