2016-11-07 71 views
0

我遇到一些麻煩angularJS,當我透過它總是空的數據,我使用顯示數據NG-重複象下面這樣:Submiting形式,在ASP.NET使用NG-重複MVC

@using (Ajax.BeginForm("UpdateTasks", "Revision", FormMethod.Post, new AjaxOptions { OnSuccess = "OnSaveSuccess" @*, OnBegin="ValidateForm"*@} , new { @id = "participantForm", @class = "form-validation-1" })) 
{ 
<div ng-app="myApp"> 
<div id="idiv"> 
<table id="tbl" name="tbl" ng-controller="myCtrl" border="1" style="color:black"> 
    <tr> 
     <th> Task</th> 
    </tr> 
    <tr ng-repeat="x in records"> 
     <td><input type="text" ng-model="x.Question" class="form-control"></td> 
    </tr> 
</table> 

    <input class="btn m-r-5" type="submit" value="Save" /> 

,這是我的控制器

[HttpPost] 
     public JsonResult UpdateTasks(object tasks) 
     { 
var tsk = tasks ; 
      return Json(new { isError ="" }, JsonRequestBehavior.AllowGet); 
     } 

但對象的任務永遠是空的,我錯過了什麼?

+0

1.ng重複應該要重複線,而你的情況是''​​ 第二件事是嘗試每個文本框中賦予不同的ID寫入(u可以使用$ index)of angular)。另一件事是ng-model不會像MVC模型Binder那樣工作。 –

回答

0

你的代碼有很多錯誤。讓我們一個一個開始。

  • 使用angularjs $ http服務將數據發佈到您的服務器。使用angularjs和使用剃刀發佈數據是沒有意義的。
  • 創建一個具有與您從客戶端發佈的屬性相匹配的屬性的模型,並將其用於控制​​器操作而不是「對象」類型。 MVC模型活頁夾自動映射字段並填充它們。

關於您的實際問題,這是因爲您尚未將姓名屬性與輸入字段關聯。嘗試這樣的事情,讓我知道,如果你需要進一步的指針:)

<div ng-app="myApp"> 
 
<div id="idiv"> 
 
<table id="tbl" name="tbl" ng-controller="myCtrl" border="1" style="color:black"> 
 
    <tr> 
 
     <th> Task</th> 
 
    </tr> 
 
    <tr> 
 
     <td ng-repeat="x in records"> 
 
     <input name="{{x.Question}}" type="text" ng-model="x.Question" class="form-control"> 
 
    </td> 
 
    </tr> 
 
</table> 
 

 
    <input class="btn m-r-5" type="submit" value="Save" />

1

你可以試試這個, 首先得到一個對象的所有數據,然後使用NG-重複顯示的數據/信息以html格式。

<table> 
<tr ng-repeat="x in records"> 
    <td>{{ x.Name }}</td> 
    <td>{{ x.Country }}</td> 
</tr>