【发布时间】:2016-11-17 17:27:36
【问题描述】:
这是cshtml内容:
@model MBOS.DTO.ViewModel.Others.ReportTemplateViewModel<MBOS.DTO.ViewModel.BranchBOCAAnalysis>
@if (Model.IncludeTableHeader)
{<thead>
<tr class="no-borders">
<th>No.</th>
<th>Branch</th>
<th>Assessor</th>
<th>Rating</th>
</tr>
</thead>
}
@foreach (var row in Model.Models)
{
<tr>
<td>@row.Id</td>
<td>@row.Branch</td>
<td>@row.Assessor</td>
<td><a href="javascript:angular.element(document.getElementById('branchAnalysisCtrl')).scope().RatingDetail();">@row.Rating.FormatDouble() </a></td>
</tr>
}
这是 AngularJs 控制器:
(function () {
'use strict';
angular.module("app.branchAnalysis", ["app.base.report"])
.controller('branchAnalysisCtrl', ['$scope', '$http',
'appStore', '$controller', '$routeParams', 'Restangular', 'toaster',
'$location', '$q', '$filter',
function ($scope, $http, appStore, $controller, $routeParams, Restangular, toaster, $location, $q, $filter) {
$scope.RatingDetail = function () {
debugger;
restangular.one("dashboard/" + (type === 'b' ? 'boca' : 'aoca') + "/assessment/rating/" + assessment.BranchId + "/" + assessment.AssessmentMonth).get().then(function (response) {
if (type === 'b')
$scope.bocaStatusPieViewModel.RatingItems = response.plain();
else
$scope.aocaStatusPieViewModel.RatingItems = response.plain();
});
}
}]);
})();
我正在尝试从上述 cshtml 中提到的 href 链接调用 RatingDetail() 函数。 我尝试使用 ng-click 但也没有成功。我需要一些好的和有效的例子。我正在等待确切的解决方案。
【问题讨论】:
-
您正试图从服务器端调用客户端脚本;这永远行不通。目前还不清楚为什么使用
ng-click对您不起作用,因为您甚至没有显示此 HTML sn-p 在您的完整文档结构中的位置,以及它是否可以访问相关控制器。
标签: javascript angularjs asp.net-mvc asp.net-mvc-4 razor