AngularJs - 使用$ resource填充表格

时间:2017-05-03 10:02:45

标签: angularjs ngresource

我正在学习angularjs,我很想从WebApi获取Object列表。我已经尝试用$ http来做它并且它工作正常:

// in controller
var listC = 'http://localhost:12345/api/WebApiTest/ContList';

$http({
    method: 'GET', url: listC
}).success(function (ContactsList) {
    $scope.contacts= ContactsList;
}).error(function () {
    alert("Error in List");
});

但我不能用$ resource做同样的事情,以后我做了什么: 表:

<tr ng-repeat="progetto in progetti | filter:progSearch | orderBy:orderByField:reverseSort">
   <td style="padding:10px;"><img src="images/user-2.png" href="#" width="25" ng-click="GetProgById(progetto.ID_Progetto)" data-toggle="modal" data-target="#progetto-modal" alt="Vista" /></td>
   <td style="padding:10px;"><img src="images/edit-user.png" href="#" width="25" ng-click="GetProgById(progetto.ID_Progetto)" data-toggle="modal" data-target="#progetto-update-modal" alt="Modifica" /></td>
   <td style="padding:10px;">{{progetto.NomeProgetto}}</td>
   <td style="padding:10px;">{{progetto.Descrizione}}</td>
   <td style="padding:10px;">{{progetto.NomeAreaRicerca}}</td>
   <td style="padding:10px;">{{progetto.Responsabile}}</td>
   <td style="padding:10px;"><img src="images/delete-user.png" href="#" width="25" ng-click="GetProgById(progetto.ID_Progetto)" data-toggle="modal" data-target="#modalEliminaProgetto" alt="Elimina" /></td>
</tr>

模块:

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

.factory('progettiService', function ($resource) {

    return $resource('http://localhost:12345/api/WebApiTest/ProgettiList');
    // ProgettiList is specified below

});

控制器:

app.controller('progCtrl', function ($scope, progettiService) {

$scope.progetti = progettiService.query();

});
api中的

“ProgettiList”:

[HttpGet]
public IHttpActionResult ProgettiList()
{
    var listProg = logic.ProgettiList();
    return Ok(listProg);
}
逻辑中的

......

public List<ProgettoDAO> ProgettiList()
{
    return progDAL.ProgettiListDAL();
}

并在DAL中:

public List<ProgettoDAO> ProgettiListDAL()
{
    List<ProgettoDAO> list = new List<ProgettoDAO>();

    string SC = ConfigurationManager.ConnectionStrings["Connection"].ToString();

    SqlConnection conn = new SqlConnection(SC);

    SqlCommand cmd = new SqlCommand();
    cmd.Connection = conn;
    cmd.CommandType = System.Data.CommandType.StoredProcedure;
    cmd.CommandText = "SP_Progetti_List";

    cmd.Parameters.AddWithValue("@ID_Progetto", null);

    try
    {
        conn.Open();

        SqlDataReader reader = cmd.ExecuteReader();

        while (reader.Read())
        {
            ProgettoDAO progetto = new ProgettoDAO();

            if (reader["ID_Progetto"] != System.DBNull.Value)
            {
                progetto.ID_Progetto = Convert.ToInt16(reader["ID_Progetto"]);
            }
            if (reader["NomeProgetto"] != System.DBNull.Value)
            {
                progetto.NomeProgetto = Convert.ToString(reader["NomeProgetto"]);
            }
            if (reader["Responsabile"] != System.DBNull.Value)
            {
                progetto.Responsabile = Convert.ToString(reader["Responsabile"]);
            }
            if (reader["Descrizione"] != System.DBNull.Value)
            {
                progetto.Descrizione = Convert.ToString(reader["Descrizione"]);
            }
            if (reader["ID_AreaRicerca"] != System.DBNull.Value)
            {
                progetto.ID_AreaRicerca = Convert.ToInt16(reader["ID_AreaRicerca"]);
            }
            if (reader["NomeAreaRicerca"] != System.DBNull.Value)
            {
                progetto.NomeAreaRicerca = Convert.ToString(reader["NomeAreaRicerca"]);
            }

            list.Add(progetto);
        }
        conn.Close();
    }
    catch (Exception ex)
    {
        throw new Exception(ex.Message);
    }
    finally
    {
        conn.Close();
        conn.Dispose();
    }
    return list;
}

表格应在页面加载后立即填写。但是,该方法返回一个列表Count = 0;

0 个答案:

没有答案