2016-01-27 55 views
0

因此,我目前正在使用WebAPI和AngularJS从SQL表中搜索一些数据并将其显示在网页上以供用户选择多个单独的数据行。我将选定的行插入单独的JSON数组(可用的客户端),我想将其插入到单独的SQL表中。使用我的JSON数据数组并将其插入到不同的SQL表中的最佳方法是什么?我将附上我目前用来获取数据的代码。如何将AngularJS JSON数据插入SQL

Controller.js

var app = angular.module('myApp', []); 

app.controller("myController", function ($scope, $http) { 

    function getCert(myid) { 
    $http.get('api/Cert/Get/', { params: { id : myid } }) 
     .success(function (data) { 
     $scope.selectedclients = data; 
     }) 
    } 

    $scope.searchClick = function() { 
    getCert($scope.myid); 
    } 

    $scope.moveItem = function (item, from, to) { 
    var idx = from.indexOf(item); 
    if (idx != -1) { 
     from.splice(idx, 1); 
     to.push(item); 
    } 
    }; 

    $scope.availableclients = []; 
}); 

HTML

<html data-ng-app="myApp"> 
    <body data-ng-controller ="myController">  

My_ID: <input type="text" ng-model="my_id" /> 
    <input type="submit" value="Search" ng-click="searchClick()" /> 

    <select size="10" multiple ng-model="selected" ng-options="i.unit_id for i in selectedclients" style="width: 400px"></select> 
    <div class="btn-group"> 
     <button title="Remove From List" class="btn btn-default" ng-click="moveItem(available[0], availableclients,selectedclients)"><i class="glyphicon glyphicon-chevron-left"></i></button> 
     <button title="Add To List" class="btn btn-default" ng-click="moveItem(selected[0], selectedclients,availableclients)"><i class="glyphicon glyphicon-chevron-right"></i></button> 
    </div> 
    <select size="10" multiple ng-model="available" ng-options="i.unit_id for i in availableclients" style="width: 400px"></select> 
    </body> 
</html> 

我有工作正常的代码我只是在为如何把我的availableclients JSON阵列和插入损耗到我的SQL表中。这可能很容易做到,但是我所有的搜索都在我正在寻找的内容上空白。任何帮助表示赞赏。谢谢!

编辑1:在评论的建议我添加我用于Web API获取的控制器。再次感谢您的任何建议!

public class CertController : ApiController 
{ 

    CertEntities objapi = new CertEntities(); 


    [HttpGet] 
    public IEnumerable<AngularCoCSelect_Result> Get(int id) 
    { 

     return objapi.AngularCoCSelect(id).AsEnumerable(); 
    } 

} 

回答

0

这是很广泛的问题...你也提供了来自最终将存储的数据与后端的客户端代码和没有(怀疑为你把asp.net标签也)

因此基于您可以使用Entity Framework将数据存储到数据库中。您可能会在互联网上找到很多关于实施这种方法的文章。

+0

我使用实体框架和Web API来获取我的数据。我会更新并将其添加到我原来的帖子中。 – dev53

+0

所以你的问题是如何从角度做到这一点,如何将数据发送到web api? – eesdil

+0

是的,我想这就是我正在寻找的!正如其他人所评论的,如果我正确理解这一点,我可以使用put/push将它发送到Web API。 – dev53

0

该解决方案为导向线

需要后台接受对象(JSON)的阵列API为您的客户ASP.NET或PHP然后

您需要在您的角度控制器内添加功能客户端提交的数据使用$http.put$http.post

$scope.submitClientData = function(){ 
    $http.post('webapi/clients' , { clients:$scope.availableclients }) 
} 

你可以从通话功能的服务器提交按钮 <button ng-click='submitClientData()'>Save</button>

+0

使用put vs post有什么好处? – dev53

+1

什么都不做,put和post会做同样的工作,但是作为RESTful API设计'post'的约定用于添加新资源并且'put'用于更新现有资源 –