javascript - 如何将 MVC 模型数据与 Angular JS 模型链接起来

标签 javascript asp.net-mvc angularjs razor

我正在使用 MVC Razor View 和 AngularJS。

我在 Controller 中创建 UserMaster 对象并传递给 View

Function AddNewUser() As ActionResult
       Dim objUser As New UserMaster()
        Return View("UserMaster", objUserMaster)
End Function

在 View 中,通过使用 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 类中编写)在客户端运行良好,Razor 引擎通过生成客户端验证脚本自动执行此操作。

我在提交后自动在服务器端获取繁荣模型。

但我无法使用 AngularJS(通过使用 $scope.UserData.UserName)在客户端操作/获取模型数据。当用户使用 Angular JS 修改它时,我想访问文本框内的 UserName 值。如何?

最佳答案

在 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

关于javascript - 如何将 MVC 模型数据与 Angular JS 模型链接起来,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25640585/

相关文章:

javascript - php/html - 三重嵌套引号

asp.net-mvc - Kendo UI Treeview - 与分层数据绑定(bind)

javascript - 使用 ng-if 和 ng-repeat 添加 div

javascript - Async/Await 在 ASP.NET Core Controller 操作中没有按预期工作

javascript - 为什么使用 <canvas> 而不是普通的旧 Javascript?

javascript - CSS3 过渡不能重复

c# - 在 MVC 中按字母顺序排列 SelectList

asp.net - WebAPI 返回 XML

angularjs - 变量 'Foo' 在声明之前使用。两个类(Class)相互依存

javascript - Angular : How to use variable in HTML getElementById