using System.Collections.Generic; >>>>>using System.Web.Http; >>>>> >>>>>namespace MvcApplication1.Controllers >>>>>{ >>>>> public class EquipmentController : ApiController >>>>> { >>>>> [HttpPost] >>>>> public List<Item> Items() >>>>> { >>>>> //In reality build this from the datatable >>>>> return new List<Item> >>>>> { >>>>> new Item {Company = "XYZ Inc", Id = "12345", Model = "Teleporter Mk2"}, >>>>> new Item {Company = "ABC Inc", Id = "23456", Model = "Stun Gun"}, >>>>> new Item {Company = "Arr Inc", Id = "23456", Model = "Warp Drive"} >>>>> }; >>>>> } >>>>> } >>>>> >>>>> public class Item >>>>> { >>>>> public string Id { get; set; } >>>>> public string Company { get; set; } >>>>> public string Model { get; set; } >>>>> } >>>>>}html page:
<!DOCTYPE html> >>>>><html xmlns="http://www.w3.org/1999/xhtml" ng-app> >>>>><head> >>>>> <title></title> >>>>> <script src="scripts/angular.js"></script> >>>>> <script src="Scripts/jquery-1.8.2.js"></script> >>>>></head> >>>>> <body> >>>>> <form data-ng-controller="EquipCtrl"> >>>>> <input id="loadBtn" type="button" value="Load Data" data-ng-click="LoadData()" /> >>>>> <table> >>>>> <tr> >>>>> <th>Id</th> >>>>> <th>Company</th> >>>>> <th>Model</th> >>>>> </tr> >>>>> <tr ng-repeat="item in EquipmentList" data-ng-click="showrow(item)"> >>>>> <td>{{item.Id}}</td> >>>>> <td>{{item.Company}}</td> >>>>> <td>{{item.Model}}</td> >>>>> </tr> >>>>> </table> >>>>> <p> >>>>> <input id="Text1" type="text" data-ng-model="currentItem.Id" /> >>>>> <input id="Text2" type="text" data-ng-model="currentItem.Company" /> >>>>> <input id="Text3" type="text" data-ng-model="currentItem.Model" /> >>>>> </p> >>>>> </form> >>>>> </body> >>>>> >>>>><script type="text/javascript"> >>>>> function EquipCtrl($scope, $http) { >>>>> >>>>> $scope.currentItem = null; //currently selected item >>>>> $scope.EquipmentList = []; //list of items >>>>> >>>>> //async call to the webapi: >>>>> $scope.LoadData = function () { >>>>> $http.post('/api/Equipment/items') >>>>> .success(function (data, status, headers, config) { >>>>> $scope.EquipmentList = data; >>>>> }); >>>>> }; >>>>> >>>>> //Change current item when row is clicked >>>>> $scope.showrow = function (item) { >>>>> $scope.currentItem = item; >>>>> }; >>>>> } >>>>></script> >>>>></html>Not pretty since I've not applied any styling. If you want to try it just add the controller to a new MVC/WebApi project Controllers folder. Make sure you have angular.js in the scripts section. Note how the table contents change when editing one of the textboxes....