Поэтому в настоящее время я работаю над приложением, которое использует WebAPI и AngularJS для поиска некоторых данных из таблицы SQL и отображения на веб-странице, чтобы пользователь мог выбрать несколько отдельных строк данных. Я вставляю выбранные строки в отдельный массив JSON (accessclients), который я хотел бы вставить в отдельную таблицу SQL. Какой лучший метод для меня взять мой массив данных 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>
Код, который у меня есть, работает отлично. Я просто в недоумении за то, как взять мой массив JSON для доступных клиентов и вставить его в таблицу SQL. Это, наверное, очень легко сделать, но все мои поиски заканчиваются на то, что я точно ищу. Любая помощь приветствуется. Благодарю!
EDIT 1: По рекомендации комментария я добавляю контроллер, который я использовал для получения веб-API. Еще раз спасибо за любой совет!
public class CertController : ApiController
{
CertEntities objapi = new CertEntities();
[HttpGet]
public IEnumerable<AngularCoCSelect_Result> Get(int id)
{
return objapi.AngularCoCSelect(id).AsEnumerable();
}
}
Это довольно широкий вопрос... также вы показываете код клиента и ничего из бэкэнд, который в конечном итоге сохранит данные (подозревая, что вы также добавляете тег asp.net)
Поэтому на основе этого вы можете использовать Entity Framework для хранения ваших данных в базе данных. Вы можете найти много статей в Интернете о реализации этого подхода.
Это решение как направляющая линия
нужен back-end api, который принимает массив объекта (json) для ваших клиентов ASP.NET или PHP, затем
Вам нужно добавить функцию в "Угловая" в вашем контроллере для отправки данных клиента на сервер с помощью $http.put
или $http.post
$scope.submitClientData = function(){
$http.post('webapi/clients' , { clients:$scope.availableclients })
}
Вы можете вызвать функцию из кнопки отправки <button ng-click='submitClientData()'>Save</button>
post
для добавления нового ресурса и put
для обновления существующего ресурса