2016-08-16 5 views
0

私のASP.Net/MVCアプリケーションでは、AngularJSを使用してデータベースからのレコードのリストを表示しています。レコードを更新すると、ページを更新するまでビュー(html)で更新されません。変更がビューに自動的に表示されない(AngularJSアップデート)

ビュー:

<tr ng-repeat="bu in bus"> 
    <td>{{bu.BU_Name}}</a></td> 
    <td>{{bu.BU_Info}}</a></td> 
    <th><a href="javascript:void(0)" ng-click="editItem(bu)">Del</a></th> 
</tr> 

JS:

$scope.editItem= function (bu) { 
    $http.post('/CO/DelBU', {dbunt: bu}) 
    .then(function (response) { 
     $scope.bus = response.data; 
    }) 
    .catch(function (e) { 
     console.log("error", e); 
     throw e; 
    }) 
    .finally(function() { 
     console.log("This finally block"); 
    }); 
}; 

MVCコントローラ:だから

[HttpPost] 
    public JsonResult DelBU(BUs dbunt) 
    { 
     var db = new scaleDBEntities(); 
     var burecord = db.Buses.Find(dbunt.BU_ID); 
     db.Database.ExecuteSqlCommand("UPDATE dbo.BUs SET BU_Name='just a test'"); 
     var burecords = db.Buses.ToList(); 
     return Json(burecords, JsonRequestBehavior.AllowGet); 
    } 

、私は編集をクリックすると、名前が上の変更されません。私はページを更新しない限り、画面!これをどうすれば解決できますか?

はあなたが

+0

はあなたがラインをデバッグ有無:$ scope.bus = response.data。あなたがリストを取り戻していることを確認するには? – cullimorer

+0

最初にデータベースからデータを表示するときに、同じ行がhttp.getで使用されているので、私は「はい」と答えるでしょう。 –

+0

しかし、POST機能を使ってすべてのデータを取得しているわけではありません... 2つのコールは互いに確実に分離されていますか? – cullimorer

答えて

-1

私はあなたがバスのための時計を設定するために必要だと思うありがとう - 詳細についてはこちらを参照してください。

How do I use $scope.$watch and $scope.$apply in AngularJS?

+0

Tomさん、可能であれば、自分のコードで$ watchを使う方法をもっと説明しますか?ありがとう –

+0

Angularは角度{{}}の構文 – Shaggy13spe

+0

を使って$ watchを自動的に作成します。なぜなら、バス ">"内の '

関連する問題