2014-09-03 49 views
1

我正在使用MVC Razor View與AngularJS。如何鏈接MVC模型數據與Angular JS模型

我創造了控制器的UserMaster對象,並傳遞給視圖

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

看來,通過使用文本框和驗證控件將創建

@<div ng-app ng-controller="UserController"> 
    @Html.EditorFor(Function(model) model.UserName) 
    @Html.ValidationMessageFor(Function(model) model.UserName) 

在HTML輔助類客戶端使用以下語句創建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

你有沒有想過這個想法? – texas697 2014-10-07 14:51:43

+0

是的...我會更新答案... – 2014-10-08 06:33:10

回答

2

它可以通過MVC使用htmlAttributes可能 - 5

@Html.EditorFor(Function(model) model.UserName, New With {Key .htmlAttributes = New With {Key .ng_model = "model.UserName"}}) 

,我們必須使用ng_model insted的的NG-模式和MVC將在運行時

渲染爲 NG-模式