Ich versuche, meine ASP.NET Web API mit AngularJs zu konsumieren. Das Problem ist, dass ich optionale Parameter an die URL basierend auf der Benutzereingabe übergeben möchte (2 HTML-Textfelder), aber ich weiß nicht wie.
Dies ist meine ASP.NET Web API-ControllerAngularJs, Übergabe optionaler Parameter an die URL basierend auf Benutzereingabe
[Route("api/JobShow/{keyword}/{location}")]
public class JobShowController : ApiController
{
[HttpGet]
public PageResult<sp_JobSearch_Result> Get(ODataQueryOptions<sp_JobSearch_Result> options, string keyword = null, string location = null)
{
ODataQuerySettings settings = new ODataQuerySettings()
{
PageSize = 20
};
JobWindow obj = new JobWindow();
IQueryable results = options.ApplyTo(obj.showJobs(keyword, location).AsQueryable(), settings);
return new PageResult<sp_JobSearch_Result>(
results as IEnumerable<sp_JobSearch_Result>,
Request.GetNextPageLink(),
Request.GetInlineCount());
}
}
Und das ist mein AngularJS Controller
angular.module('JobSearch.SiteController', []).controller('JobSearchCtrl', ['$scope', '$http', function ($scope, $http) {
$http.get('/api/JobShow').success(function (data) {
$scope.model = data;
});
}]);
Beispiel der URL wäre dann .../api/JobShow/Java/Toronto. Danke euch allen.
Ist die optionale Parameter Sie ist sprachen über die Pfadparameter 'keyword' und' location'? – kazenorin
Ja, das sind sie. Ich zeige es in der Attribut-Route auf meinem API Controller. – Iman