更改不会自动显示在视图上(AngularJS更新)

时间:2016-08-16 13:09:22

标签: c# angularjs asp.net-mvc

在我的ASP.Net/MVC应用程序中,我使用AngularJS显示数据库中的记录列表。当我更新记录时,在刷新页面之前,它不会在视图(html)中更新?

观点:

<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);
    }

因此,当我点击编辑时,除非我刷新页面,否则屏幕上的名称不会改变!我该如何解决这个问题?

谢谢

1 个答案:

答案 0 :(得分:-1)

我认为您需要为公交车设置一个手表 - 请点击此处了解更多详情:

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