Asp.net 无法将功能添加到我的控制器(角度1)
编辑:我已经解决了。在项目的根目录中有一个gruntfile.js。以前从未听说过它,谷歌搜索它,运行它,现在它工作了。愚蠢的无论如何,谢谢大家的努力 我只想在这篇文章的开头;这不是我的项目,我只是想添加到它,而原始制造商不可用。在我参加的一个课程中,我只与AngularJS合作了三周,课程结构与AngularJS推荐的完全一样,而不是像这个项目 我正试图添加两个按钮的模式弹出订阅信息。它包含常规子信息和历史记录表。按钮用于在子信息和历史记录之间切换。所以我写了一个函数来尝试一下。它被称为“toggleMobileDetailsInfoHistoryModule”。 这是html,它只有五个这样的脚本,没有其他脚本,这就是我正在使用的脚本:Asp.net 无法将功能添加到我的控制器(角度1),asp.net,angularjs,Asp.net,Angularjs,编辑:我已经解决了。在项目的根目录中有一个gruntfile.js。以前从未听说过它,谷歌搜索它,运行它,现在它工作了。愚蠢的无论如何,谢谢大家的努力 我只想在这篇文章的开头;这不是我的项目,我只是想添加到它,而原始制造商不可用。在我参加的一个课程中,我只与AngularJS合作了三周,课程结构与AngularJS推荐的完全一样,而不是像这个项目 我正试图添加两个按钮的模式弹出订阅信息。它包含常规子信息和历史记录表。按钮用于在子信息和历史记录之间切换。所以我写了一个函数来尝试一下。它被称为“to
<script type="text/ng-template" id="MobileSubscriptionDetailModal">
<div class="modal-header">
<button type="button" class="close" ng-click="cancel()">×</button>
<h4>{{"mobileSubscriptionResource.title"|translate}}</h4><br />
<button ng-click="toggleMobileDetailsInfoHistoryModule()">{{"mobileSubscriptionResource.history"|translate}}</button>
<button ng-click="toggleMobileDetailsInfoHistoryModule()">{{"mobileSubscriptionResource.info"|translate}}</button>
</div>
<div ng-if="showInfoModule" class="modal-body">
<form role="form" name="form" novalidate>
</form>
</div>
<div ng-if="showHistoryModule" ng-include=" 'pages/history.html' "></div>
<div class="modal-footer">
<button class="btn btn-primary pull-left" ng-click="edit(mobileSubscription)" ng-show="mobileSubscription.IsOperation">{{'commonResource.edit'|translate}}</button>
<button class="btn btn-danger pull-left" ng-click="delete(mobileSubscription)" ng-show="mobileSubscription.IsOperation">{{'commonResource.remove'|translate}}</button>
<button class="btn btn-default" ng-click="cancel()" data-translate="commonResource.cancel"></button>
</div>
在同一个文件中进一步:
var mobileSubscriptionDetailCtrl = ["$scope", "$rootScope", "$modal", "$modalInstance", "mobileSubscription", "historyService", "tools",
function ($scope, $rootScope, $modal, $modalInstance, mobileSubscription, historyService, tools) {
$scope.toggleMobileDetailsInfoHistoryModule = function () {
alert("inside!");
if ($scope.showInfoModule) {
$scope.showHistoryModule = false;
} else {
$scope.showHistoryModule = true;
};
$scope.cancel = function () {
$modalInstance.close();
};
}];
现在,我已经尝试了ng if,ng show。不过,布尔人也能工作。ng click=“showHistoryModule=!showHistoryModule”它可以工作。但我需要一个函数,这样它可以更复杂。
我已经尝试从我的函数下面的函数中使用“$modalInstance.close();”(dosent work/close the modal)。我试过在app.controller上面使用app.factory并将该功能放在那里,但它不起作用,警报/控制台日志不会显示。。不知何故,我似乎无法将函数添加到此页面/控制器
这是我正在使用的develope.html,它的头部包含了一百万个脚本引用,而身体中包含了这个脚本引用:
body ng-app="app" style="background-color: #eee">
<div class="mask" ng-show="pageLoading">
<img class="spin" src="img/loading.gif" />
</div>
<div id="wrap" ng-style="loginBackground" ng-if="!redirecting">
<div ng-controller="alertController">
<alert class="global-message" ng-repeat="alert in alerts" type="{{alert.type}}" close="closeAlert($index)" style="z-index: 5000;position:fixed">
<span ng-bind-html="alert.msg"></span>
</alert>
</div>
<div id="header" ng-show="isShowHeader">
<section ng-class="" ng-show="isShowMenu" data-ng-include=" 'header.html' "></section>
</div>
<div id="banner" class="row" style="margin-top:-18px;">
<div class=" col-sm-2 col-md-2 col-sm-offset-1 ">
</div>
<div class="col-md-8 white">
<div ng-show="isShowHeader">
<span class="page-title">{{pageTitle}}</span>
<img class="pull-right img-responsive" ng-if="loginUser.clientLogo != ''" style="height: 84px;margin-right: 50px;margin-top: 20px;" />
</div>
</div>
</div>
<div class="row">
<div ng-include="'sidebar.html'"></div>
<div id="main" class="col-sm-8 container" ng-class="{true:'white',false:'login-background'}[isShowHeader]">
<div ng-view class="main-content"></div>
</div>
</div>
</div>
<footer id="footer" ng-show="isShowHeader" ng-if="!redirecting"></footer>
body ng app=“app”style=“背景色:#eee”>
{{pageTitle}}
&时代;
{{'commonResource.export'| translate}}
{{'mobileSubscriptionResource.export'| translate}}
{{'commonResource.yes'| translate}}
看起来您没有将mobileSubscriptionDetailCtrl分配给angular。这就是为什么控制器什么都不做。尝试更改var mobileSubscriptionDetailCtrl=
到
应用程序控制器你的
ng控制器在哪里
?我不知道。我找不到它。我尝试在整个解决方案中搜索'ng controller=“mobileSubscriptionController”和'ng controller=mobileSubscriptionDetailCtrl',但没有显示任何内容。我不了解其他函数是如何工作的,但它们是如何工作的。您的是否切换MobileDetailsInfoHistoryModule()
工作?@charbellia带有ng模板的脚本类似于一个单独的.html
文件。您可以使用ng视图将其插入正文中,因此只要您有controller:“mobileSubscriptionController”,就不需要ng controller
“
在angular.config中
否,这就是问题所在。“mobileSubscriptionDetailCtrl”中除了“$scope.cancel”之外还有其他几个函数“$scope.delete”、“$scope.edit”函数,它们都可以工作!非常奇怪,请更具体地说明你建议改变什么。我刚刚改变了。它不起作用。没有得到任何错误或任何东西,它只是表现得像以前一样。尝试刷新、重建等。。
body ng-app="app" style="background-color: #eee">
<div class="mask" ng-show="pageLoading">
<img class="spin" src="img/loading.gif" />
</div>
<div id="wrap" ng-style="loginBackground" ng-if="!redirecting">
<div ng-controller="alertController">
<alert class="global-message" ng-repeat="alert in alerts" type="{{alert.type}}" close="closeAlert($index)" style="z-index: 5000;position:fixed">
<span ng-bind-html="alert.msg"></span>
</alert>
</div>
<div id="header" ng-show="isShowHeader">
<section ng-class="" ng-show="isShowMenu" data-ng-include=" 'header.html' "></section>
</div>
<div id="banner" class="row" style="margin-top:-18px;">
<div class=" col-sm-2 col-md-2 col-sm-offset-1 ">
</div>
<div class="col-md-8 white">
<div ng-show="isShowHeader">
<span class="page-title">{{pageTitle}}</span>
<img class="pull-right img-responsive" ng-if="loginUser.clientLogo != ''" style="height: 84px;margin-right: 50px;margin-top: 20px;" />
</div>
</div>
</div>
<div class="row">
<div ng-include="'sidebar.html'"></div>
<div id="main" class="col-sm-8 container" ng-class="{true:'white',false:'login-background'}[isShowHeader]">
<div ng-view class="main-content"></div>
</div>
</div>
</div>
<footer id="footer" ng-show="isShowHeader" ng-if="!redirecting"></footer>
<div class="row">
<div class="col-sm-12 controll table-filter">
<div class="form-inline" style="margin-bottom: 10px;">
<div class="form-group filter-margin-right">
<div class="input-group">
<input type="text" class="form-control" placeholder="{{'commonResource.search'|translate}}" ng-keypress="searchMobileSubscription($event)" ng-model="keyword">
<i ng-show="loadingLocations" class="glyphicon glyphicon-refresh"></i>
<span class="input-group-btn">
<button class="btn search " ng-click="search()">
<i class="glyphicon glyphicon-search search-icon"></i>
</button>
</span>
</div>
</div>
<div class="display-inline filter-margin-right" ng-dropdown-multiselect="" options="properties" selected-model="selectedProperties" checkboxes="true"></div>
<div class="column-filter-position">
<span class="btn btn-primary" ng-click="columnFilter.dropdown = !columnFilter.dropdown">
<i class="glyphicon glyphicon-th-list"></i>
</span>
<div class="dropdown-menu collapse column-filter-dropdown" ng-class="{in: columnFilter.dropdown}" ng-blur="columnFilter.dropdown = false">
<div class="checkbox form-group status-filter-padding-left uppercase-text">
<label>
<input type="checkbox" ng-model="columnFilter.SelectAll" ng-click="selectAllColumnFilter(columnFilter)"> {{'commonResource.selectAll'|translate}}
</label>
</div>
<div class="divider"></div>
<div ng-repeat="column in mobileSubscriptionColumns" class="column-filter checkbox form-group column-filter-padding-left">
<label>
<input type="checkbox" ng-model="column.isShowColumn" ng-click="setColumnSelectAll(columnFilter)"> {{column.otherName|translate}}
</label>
</div>
<div class="divider"></div>
<div class="form-inline">
<div class="checkbox status-filter-padding-left">
<label>
<input type="checkbox" ng-model="columnFilter.rememberMyChoice"> {{'commonResource.rememberMyChoice'|translate}}
</label>
</div>
<span class="btn btn-primary pull-right status-filter-ok" ng-disabled="isShowColumnFilterSpinner" ng-click="addColumnFilter(columnFilter)">
{{'commonResource.ok'|translate}}
<span spinner is-show="isShowColumnFilterSpinner" style="position: absolute;right: 6%;"></span>
</span>
</div>
</div>
</div>
<a class="btn btn-primary pull-right uppercase-text" ng-click="add()">{{'commonResource.add'|translate}}</a>
</div>
</div>
<div class="col-sm-12 column-filter-table div-table-min-height">
<table class="table tablesorter-blue">
<thead>
<tr class="uppercase-text tablesorter-headerRow">
<th ng-repeat="column in mobileSubscriptionColumns" ng-class="{sortable: column.sortable !== false}" ng-show="column.isShowColumn" style="text-align: left;">
<i ng-if="column.sortable" class="hand glyphicon {{column.direction|orderClass}}" ng-click="sort.toggle(column)"></i>
{{column.otherName|translate}}
<i class="glyphicon glyphicon-filter btn-primary hand status-filter-icon" aria-hidden="true" ng-show="column.name=='MobileSubscriptionStatus.Name'" ng-click="mobileSubscriptionStatusFilter.dropdown = !mobileSubscriptionStatusFilter.dropdown"></i>
<div class="dropdown" ng-if="column.name=='MobileSubscriptionStatus.Name'">
<div class="dropdown-menu collapse status-filter status-filter-drop-down-max-height text-capitalize" ng-class="{in: mobileSubscriptionStatusFilter.dropdown}" ng-blur="mobileSubscriptionStatusFilter.dropdown = false">
<div class="checkbox form-group status-filter-padding-left">
<label>
<input type="checkbox" ng-model="mobileSubscriptionStatusFilter.SelectAll" ng-click="selectAllStatusFilter(mobileSubscriptionStatusFilter)"> {{'commonResource.selectAll'|translate}}
</label>
</div>
<div class="divider"></div>
<div class="status-filter-content">
<div ng-repeat="status in mobileSubscriptionStatusFilter.statuses" class="checkbox form-group status-filter-padding-left">
<label>
<input type="checkbox" ng-model="status.Checked" ng-click="setSelectAll(mobileSubscriptionStatusFilter)"> {{status.Name}}
</label>
</div>
</div>
<div class="divider"></div>
<div class="form-inline">
<div class="checkbox status-filter-padding-left">
<label>
<input type="checkbox" ng-model="mobileSubscriptionStatusFilter.rememberMyChoice"> {{'commonResource.rememberMyChoice'|translate}}
</label>
</div>
<span class="btn btn-primary pull-right status-filter-ok" ng-disabled="isShowStatusFilterSpinner" ng-click="addStatusFilter(mobileSubscriptionStatusFilter)">
{{'commonResource.ok'|translate}}
<span spinner is-show="isShowStatusFilterSpinner" style="position: absolute;right: 6%;"></span>
</span>
</div>
</div>
</div>
</th>
</tr>
</thead>
<tbody>
<tr ng-show="listLoading"><td colspan="7" align="center" spinner is-show="listLoading" message="{{commonResource.dataLoading|translate}}"></td></tr>
<tr ng-repeat="mobileSubscription in mobileSubscriptions">
<td ng-show="mobileSubscriptionColumns[0].isShowColumn"><a class="hand" ng-click="detail(mobileSubscription)">{{mobileSubscription.MobileNumber}}</a></td>
<td ng-show="mobileSubscriptionColumns[1].isShowColumn">{{mobileSubscription.SubscriptionType.Name}}</td>
<td ng-show="mobileSubscriptionColumns[2].isShowColumn">{{mobileSubscription.SubscriptionCategory.Name}}</td>
<td ng-show="mobileSubscriptionColumns[3].isShowColumn">{{mobileSubscription.ContractEndDate}}</td>
<td ng-show="mobileSubscriptionColumns[4].isShowColumn">{{mobileSubscription.Owner}}</td>
<td ng-show="mobileSubscriptionColumns[5].isShowColumn">{{mobileSubscription.DataLimit}}</td>
<td ng-show="mobileSubscriptionColumns[6].isShowColumn"><a ng-class="{true:'selected-item',false:'unselected-item'}[mobileSubscription.IsActive]"><i class="glyphicon glyphicon-ok"></i></a></td>
<td ng-show="mobileSubscriptionColumns[7].isShowColumn" title="{{mobileSubscription.Note}}">{{mobileSubscription.Note.length>10?mobileSubscription.Note.substring(0,10)+"...":mobileSubscription.Note}}</td>
<td ng-show="mobileSubscriptionColumns[8].isShowColumn">{{mobileSubscription.MobileSubscriptionStatus.Name}}</td>
</tr>
</tbody>
</table>
</div>
<div class="form-inline">
<pagination style="display: block;" total-items="recordCount" items-per-page="pageSize" ng-model="pageIndex" ng-change="pageChanged()" previous-text="<" next-text=">"></pagination>
<select class="form-control col-sm-2" style="float: left; margin-left: 10px" ng-change="pagingSizeChange()" ng-model="pageSize">
<option ng-repeat=" size in pageSizes track by $index">{{size}}</option>
</select>
<a class="btn btn-primary pull-right uppercase-text" ng-click="export()" style="margin-right:5px">{{'commonResource.export'|translate}}</a>
</div>
<div ng-include src=" 'pages/share/mobileSubscriptionModel.html' "></div>
<script type="text/ng-template" id="ExportMobileSubscriptionsModel">
<div class="modal-header">
<button type="button" class="close" ng-click="cancel()">×</button>
<h4 class="modal-title">{{'commonResource.export' | translate}}</h4>
</div>
<div class="modal-body">
<p>{{'mobileSubscriptionResource.export' | translate}}</p>
</div>
<div class="modal-footer">
<button class="btn btn-primary " ng-disabled="isShowSpinner" style="width:50px;" ng-click="ok()">
{{ 'commonResource.yes' | translate }}
<span spinner is-show="isShowSpinner" style="position: absolute;left: 83%;"></span>
</button>
<button type="button" class="btn btn-default" ng-click="cancel()" data-translate="commonResource.no"></button>
</div>
</script>
</div>