I got this off the interwebs, was mucking about trying to figure out how to do a few things, mostly straight forward, (or should be). I've obviously missed something, and i modified the GetProductList to use EF instead of straight ADO code, it hits the return list; with the proper (well what i asked for anyway) list of staff.

Questions, Comments and/or scathing indictments always welcome.

Can anyone spot what is not correct with this? i have banged my head for 6 hours on what should have been a simple thing.

Default.aspx

Code:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="NetAccessToy.Default" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
    <script type="text/javascript">
        angular.module('drpdwnApp', []).controller('drpdwnCtrl', function ($scope, $http) {
            $scope.ProductList = null;
            //Declaring the function to load data from database
            $scope.fillProductList = function () {
                $http({
                    method: 'POST',
                    url: 'Default.aspx/GetProductList',
                    data: {}
                }).success(function (result) {
                    $scope.ProductList = result.d;
                });
            };
            //Calling the function to load the data on pageload
            $scope.fillProductList();
        });
    </script>
</head>
<body>
<form id="form1" runat="server">
    <div ng-app="drpdwnApp" ng-controller="drpdwnCtrl">
        <select ng-model="drpdpwnvalue" ng-options="item.ID for item in ProductList">
            <option value="" label="Select an item"></option>
        </select>
    </div>
</form>
</body>
</html>
backing code

Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using NetAccessToy.Models;

namespace NetAccessToy
{
    public partial class Default : System.Web.UI.Page
    {
        


        [System.Web.Services.WebMethod()]
        public static List<StaffList> GetProductList()
        {
            var db1 = new HRTraining2Entities();
            List<StaffList> list = new List<StaffList>();
            StaffList lsl;
            var lst = new List<STAFF>();
            lst = (from y in db1.STAFFs select y).ToList();
            foreach (var x in lst)
            {
                lsl = new StaffList
                {
                    id = x.staff_ID,
                    name = x.STAFF_LAST_NAME + " , " + x.STAFF_FIRST_NAME
                };
                list.Add(lsl);
            }
           return list;
        }

     
    }
    public class StaffList
    {
        public int id { get; set; }
        public string name { get; set; }

        public StaffList(int ID, string NAME)

        {
            id = ID;
            name = NAME;
        }

        public StaffList()
        {
            
        }
    }
}