从MVC操作链接URL将参数传递给角度控制器

时间:2016-05-27 08:13:36

标签: angularjs url model-view-controller

我是Angularjs的新手,我正在构建一个带有一些Angularjs视图的ASP.NET MVC 6应用程序,我有一个问题是将参数从MVC动作链接传递给AngularJS控制器,我的MVC动作链接的URL如下:{ {3}},在我的Details.cshtml页面中,托管Angularjs以显示站点位置图,

在我的MVC路线中:

routes.MapRoute( name: "default", template: "{controller=Home}/{action=Index}/{id?}");

我的MVC代码如下:

public JsonResult GetSiteInfo(int SiteId) { var sList = _context.Station.Where(s => s.Category.Site.SiteID == SiteId); return Json(sList); }

Angularjs代码如下:



var app = angular.module('myApp', ['uiGmapgoogle-maps','ngRoute']);
app.controller('mapController', function ($scope, $http,$window, $location, $routeParams, SiteID) {
var sid = SiteID.get({ id: $routeParams.someId });

    //Populate Site location information by site ID
    $http.get('/Sites/GetSiteInfo').
    params: {
            siteId: siteId
        }
    }).then(function (data) {
        $scope.locations = data.data;
    }, function () {
        alert('Error');
    });




我想从Angularjs中的URL中检索siteId参数并过滤结果,目前我无法从Angularjs代码中的URl中检索参数,我不确定我做错了什么,请指教。

更新 我从这个链接找到了一个已经解决的类似帖子,但它似乎对我不起作用, http://localhost/Sites/Details/1

1 个答案:

答案 0 :(得分:0)

在控制器中尝试$routeParams.siteId

console.log("site id = "+$routeParams.siteId);