【发布时间】:2016-08-26 15:27:34
【问题描述】:
我对 AngularJs 非常陌生,并且正在使用 AngularJs + MVC 进行测试项目,如果这段代码看起来很拙劣,请致歉。
我正试图弄清楚如何将我的共享视图中的点击链接传递给我的 index.cshtml 视图,以便我的索引视图知道点击了哪个链接。理想情况下,我想用角度来做这个,所以它是无缝的。在我的 MVC 项目中,我为我的网站模板创建了一个共享视图。在这个模板中,是一个下拉列表,在从我的数据库中检索值后通过 AngularJs 填充。下拉列表包含下拉列表中每个项目的链接。当用户单击其中一个下拉链接时,我想将调用无缝传递到我的 index.cshtml 视图,但我不确定执行此操作的最佳方法。
这是我到目前为止的代码,它从数据库中检索所有下拉列表值并将它们填充到我的共享视图模板的下拉列表中。这很好用,但现在我不确定当用户单击下拉列表中的链接时该怎么做。我需要做的是根据用户在下拉列表中单击的链接来更改索引视图上的表数据。
在我的共享视图中,我正在通过 Angular 填充我的下拉值 (campaign.Campaign1)。 “SelectedCampaign”只是用户当前选择的活动名称的文本:
<div style="text-align:center">
<div class="btn-group" ng-controller="menuController">
<button type="button" class="btn btn-danger">{{SelectedCampaign}}</button>
<button type="button" class="btn btn-danger dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
<span class="caret"></span>
<span class="sr-only">Toggle Dropdown</span>
</button>
<ul class="dropdown-menu" role="menu">
<li ng-repeat="campaign in campaigns">
<a href="#">{{campaign.Campaign1}}</a>
</li>
</ul>
</div>
</div>
在我的 Angular MenuController.js 脚本中,我调用了一个名为“GetCampaigns”的 MVC 控制器,然后将结果返回到我的共享视图的下拉列表中:
angular.module('dashboardApp', [])
.controller('menuController', function ($scope, $http) {
$http.get('/Account/GetCampaigns')
.success(function (result) {
$scope.SelectedCampaign = result[0]['Campaign1'];
$scope.campaigns = result;
})
.error(function (data) {
console.log(data);
});
})
感谢您提供的任何帮助。
【问题讨论】:
标签: angularjs asp.net-mvc asp.net-mvc-4