如何通过单击带有angularjs的按钮来更新数据库中的数据

时间:2016-03-18 07:23:25

标签: javascript asp.net angularjs api datagridview

我是棱角分明的新人,所以有问题。我的迷你项目的主要思想是我必须显示数据库中的数据。通过调用api和请求数据库,所有内容都应该在View中显示。现在显示当前数据正在运行。现在我想通过点击按钮更新数据库中的数据,但不幸的是我不知道我必须在控制器中写什么样的功能。 这是我的DataGridView.js

Startup.Configuration["Data:TargetContextConnection"]

这是我的(API)Tables1Controller.cs,只有主要方法

var app = angular.module('myApp', ['ngResource']);
app.controller('myCtrl', function ($scope, $resource, $http, $routeParams, $location) {

    var Users = $resource('/api/tables');
    $scope.users = Users.query(function () {
        //console.log(user);
    });
});

这是我显示数据的索引,我添加了按钮

public string GetTables()
        {
            JavaScriptSerializer jss = new JavaScriptSerializer();
            return jss.Serialize(db.Tables);
        } 

在_Layout.cshtml我在体内添加了ng-app和ng-controller。什么是最好的解决方案?

编辑:我知道它应该用ng-click near按钮开始,但我不知道怎么写函数来更新。

3 个答案:

答案 0 :(得分:0)

看起来你正在使用带有Angular的ASP.Net MVC。在这种情况下,'控制器'令人困惑,因为它在MVC和Angular中意味着不同。

回到你的问题,你需要两件事

  1. Angular:当用户点击按钮时,使用$ http.post发送数据。 $ http.post的网址应与#2的路由匹配。
  2. MVC控制器:添加HttpPost控制器以从浏览器接收数据。并运行insert命令将数据保存在存储中。

答案 1 :(得分:0)

解决!

在js文件中我添加了:

$scope.update = (function () {
        var Users = $resource('/api/tables');
        $scope.users = Users.query(function () {
        });
    });

并在html文件中我做了这样的按钮:

<div class="btn btn-danger" ng-click="update()">Refresh</div>

答案 2 :(得分:0)

此外,您可以阅读有关ngResource的信息,例如http://www.sitepoint.com/creating-crud-app-minutes-angulars-resource/