Я новичок в AngularJS, пытаясь передать идентификатор от url к методу JSON контроллера MVC, а затем вернуть JSON в угловую область.Передача идентификатора от url к контроллеру MVC (AngularJS)
Вот мой MVC контроллер:
public ActionResult Client(int clientid)
{
return View();
}
public JsonResult GetClient(string clientid)
{
ClientDao clientDao = new ClientDao();
Client client = clientDao.getClientById(int.Parse(clientid));
return new JsonResult { Data = client, JsonRequestBehavior = JsonRequestBehavior.AllowGet };
}
А вот мой Угловой .js файл:
var app = angular.module('myapp', ['ngRoute']);
app.config(function ($routeProvider, $locationProvider) {
$routeProvider
.when('/Home/Client/:clientid', {
controller: 'ClientCtrl'
})
.otherwise({
redirectTo: "/Home/Index"
})
$locationProvider.html5Mode({
enabled: true,
requireBase: false
});
});
app.controller("ClientCtrl", function ($scope, $http, $routeParams) {
// alert($routeParams.clientid);
$http({
url: "/Home/GetClient/",
params: {clientid: $routeParams.clientid},
method: "get"
})
.then (function (response) {
$scope.client = response.data;
})
});
Проблема заключается в том, что параметр clientid
в $routeParams
всегда не определен. Как мне это исправить?
Update: Вот как моя ссылка выглядит следующим образом: http://something.com/Home/Client/20
Я думаю, что вы просите за неприятности, имея как ASP.NET MVC маршрут и угловой маршрут, указывающий на (/ Главная/Клиент). Это не приложение SPA? –
Да, в конце, это должно быть. В любом случае, я новичок в этом материале, поэтому я пытаюсь понять, как передать этот идентификатор на сервер, получить ответ JSON и передать этот ответ в область видимости. – Med