2014-02-10 1 views
1

저는 angularjs.kr에 익숙하지 않습니다. 매우 간단한 웹 응용 프로그램을 작성하고 있습니다. 코드 구조는 아래에 있습니다. 데이터베이스에서 후보 목록과 후보 목록을 보여주는 간단한보기가 있습니다.웹 API 메서드가 angularjs에서 호출하지 않습니다.

내 자바 스크립트 컨트롤러 :

appRoot.controller('CandidateController', function ($scope, $location, $resource) { 
    var searchcandidates={ 

     Name:$("#txtname").val(), 
     Email:$("#txtemail").val() 
    }; 
    var Listcandidates = $resource('/api/Candidate', {Name:$("#txtname").val(), Email:$("#txtemail").val()}, { update: { method: 'GET' } }); 

    $scope.candidateslist = []; 

    Listcandidates.query(function (data) { 
     $scope.candidateslist.length = 0; 
     angular.forEach(data, function (CandidateData) { 
      $scope.candidateslist.push(CandidateData); 
     }) 
    }); 

    $scope.SearchCandidates = function() { 
     alert($("#txtname").val()); 
     var list = $resource('/api/Candidate', { id: "2" }); 

    } 




    var init = function() { 

    } 

    init(); 
}); 

내 Cshtml :

@{ 
    Layout = null; 
} 

<div class="FormHeader"><span class="searCandidate"></span>Search Result</div> 
<div class="blank"></div> 
<div class="container-fluid"> 
    <div class="row-fluid"> 
     <div class="span2"> 
      <!--Sidebar content--> 

       Search: 
      <label>Name</label> 
       <input type="text" id="txtname" name="name" /> 
       <label>Email</label> 
       <input type="text" id="txtemail" name="email" /> 
       <input type="button" value="Save" ng-click="SearchCandidates()" /> 

     </div> 
     <div class="span10"> 
      <!--Body content--> 

      <ul class="candidates"> 
       <li ng-repeat="candidate in candidateslist" 
        class="thumbnail phone-listing"> 
        @*<a href="#/phones/{{phone.id}}" class="thumb"><img ng-src="{{phone.imageUrl}}"></a> 
         <a href="#/phones/{{phone.id}}">{{phone.name}}</a>*@ 
        <div class="item"> 
         <span class="green leftMrg">{{candidate.name}}</span> 
         <span class="leftMrg">{{candidate.skill}}</span> 
         <span class="grey leftMrg">Resume ID: {{candidate.id}}</span> 
         <div class="blank"></div> 
         <div class="blank"></div> 
        </div> 
        <div class="item"> 
         <span class="bold">{{candidate.exporganization}} </span> 
         <span>Education:{{candidate.eduname}}</span> 
         <span>{{candidate.totalexperience}}</span> 
         <span>Preferred Location: {{candidate.location}}</span> 
        </div> 
        <p></p> 
       </li> 
      </ul> 
     </div> 
    </div> 
</div> 

내 app.js :

var appRoot = angular.module('main', ['ngRoute', 'ngGrid', 'ngResource', 'angularStart.directives', 'kendo.directives']);  //Define the main module 

appRoot 
    .config(['$routeProvider', function ($routeProvider) { 
     //Setup routes to load partial templates from server. TemplateUrl is the location for the server view (Razor .cshtml view) 
     $routeProvider 
      .when('/home', { templateUrl: '/home/main', controller: 'MainController' }) 
      .when('/contact', { templateUrl: '/home/contact', controller: 'ContactController' }) 
      .when('/about', { templateUrl: '/home/about', controller: 'AboutController' }) 
      .when('/demo', { templateUrl: '/home/demo', controller: 'DemoController' }) 
      .when('/candidate', { templateUrl: '/home/candidate', controller: 'CandidateController' }) 
      .otherwise({ redirectTo: '/home' }); 
    }]) 
    .controller('RootController', ['$scope', '$route', '$routeParams', '$location', function ($scope, $route, $routeParams, $location) { 
     $scope.$on('$routeChangeSuccess', function (e, current, previous) { 
      $scope.activeViewPath = $location.path(); 
     }); 
    }]); 

내 CandidateController.cs

public class CandidateController : ApiController 
    { 
     CandidateSearchDAL objCandidateSearchDAL = new CandidateSearchDAL(); 



     // GET api/<controller> 
     public IEnumerable<CandidateModel> Get() 
     { 
      List<CandidateModel> lstCandidates = objCandidateSearchDAL.GetSearchCandidates(); 
      return lstCandidates; 
     } 

     // GET api/<controller>/5 
     public string Get(string id) 
     { 
      return "value"; 
     } 

     // POST api/<controller> 
     public void Post(string Name, string Email) 
     { 
     } 

     // PUT api/<controller>/5 
     public void Put(int id, [FromBody]string value) 
     { 
     } 

     // DELETE api/<controller>/5 
     public void Delete(int id) 
     { 
     } 
    } 

처음으로 페이지가로드되면 컨트롤러 IEnumerable Get() 메서드를 호출하는 모든 후보가 완벽하게 표시됩니다.하지만 저장 버튼을 클릭하면 컨트롤러 API를 호출 할 수 없습니다.

+0

명확히하십시오 : 당신이 당신의 SearchCandidates() 함수가 호출되지 않습니다 건가요? 또는 SearchCandidates()가 호출되었지만 서버를 호출하지 않는다고 말하고 있습니까? – Martin

답변

0

내가 전화를 볼 수 없습니다 해요 :

$resource.$save() 
관련 문제