AngularJS 路由是否需要额外的设置才能在 asp.net Web 应用程序(非 MVC)中工作?
Are additional settings required for AngularJS routing to work in asp.net Web Application (Not MVC)?
让 angularJS 路由 在我的 asp.net 应用程序中工作时遇到问题。
注意:AngularJS 路由基本上允许多个视图可互换地插入同一页面而无需刷新页面。
他们的任何连接设置或 HTTP 设置是否需要调整才能使路由正常工作? AngularJS 路由可以使用 ASP 设置 "right out of the box"(当然包括 angular.min.js/angular-route.js 脚本之后)吗?
只是实现一个普通的 ASP.NET Web 应用程序
我在网上找到了一些这样的教程,但是它们对路由没有帮助,有时还使用不可用的模板。
https://www.pluralsight.com/blog/software-development/angularjs-for-asp-net-applications
澄清一下
此 post 询问是否需要任何其他设置,或者只要所需的 angular 脚本(angular.min .js/angular-route.js) 包括在内。
Angular 示例
--Index.aspx--
<div ng-app="AngularStore" class="col-lg-12 col-md-12 col-sm-12 col-xs-12" style="min-height:400px;">
<div ng-controller="mainController">
<nav class="navbar navbar-default">
<div class="container">
<ul class="nav navbar-nav navbar-right">
<li><a href="#/cart">Cart</a></li>
<li><a href="#/store">Store</a></li>
</ul>
</div>
</nav>
<div id="main">
<div ng-view></div>
</div>
</div>
<%--//javascript scripts--%>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.js"></script>
<script src="/scripts/angular.min.js"></script>
<script src="/scripts/angular-route.js"></script>
<script src="script.js"></script>
</div>
--script.js--
var storeApp = angular.module('AngularStore', ['ngRoute']).
config(['$routeProvider', function ($routeProvider) {
$routeProvider.
when('/store', {
templateUrl: "partials/store.html",
controller: 'HomeController'
}).
when('/products/:productSku', {
templateUrl: 'partials/product.html',
controller: 'HomeController'
}).
when('/cart', {
templateUrl: 'partials/shoppingCart.html',
controller: 'cartController'
}).
otherwise({
redirectTo: '/cart'
});
}]);
//I have tried including $route in function dependencies here.
storeApp.controller('HomeController', function ($scope) {
// create a message to display in our view
$scope.message = 'Everyone come and see how good I look!';
});
storeApp.controller('cartController', function ($scope) {
$scope.message = 'Look! I am a cartController page.';
});
storeApp.controller('mainController', function ($scope) {
$scope.message = 'Look! I am a mainController page.';
});
我以前实现过这个,问题很少。无法回忆起需要设置的任何特殊设置。表单验证可能很棘手,因为 Web 应用程序将大部分页面包装在一个表单中。如果没有关于您的具体问题的更多信息,我只能提供这些信息。
这些额外的步骤使其发挥作用。
在hrefs前添加#/:
<li><a href="#/"><i class="fa fa-home"></i> Home</a></li>
<li><a href="#/about"><i class="fa fa-shield"></i> About</a></li>
<li><a href="#/contact"><i class="fa fa-comment"></i> Contact</a></li>
在你的 routeProvider 之前添加这个 locationProvider 配置。
scotchApp.config(['$locationProvider', function ($locationProvider) {
$locationProvider.hashPrefix('');
}]);
让 angularJS 路由 在我的 asp.net 应用程序中工作时遇到问题。
注意:AngularJS 路由基本上允许多个视图可互换地插入同一页面而无需刷新页面。
他们的任何连接设置或 HTTP 设置是否需要调整才能使路由正常工作? AngularJS 路由可以使用 ASP 设置 "right out of the box"(当然包括 angular.min.js/angular-route.js 脚本之后)吗?
只是实现一个普通的 ASP.NET Web 应用程序
我在网上找到了一些这样的教程,但是它们对路由没有帮助,有时还使用不可用的模板。
https://www.pluralsight.com/blog/software-development/angularjs-for-asp-net-applications
澄清一下 此 post 询问是否需要任何其他设置,或者只要所需的 angular 脚本(angular.min .js/angular-route.js) 包括在内。
Angular 示例 --Index.aspx--
<div ng-app="AngularStore" class="col-lg-12 col-md-12 col-sm-12 col-xs-12" style="min-height:400px;">
<div ng-controller="mainController">
<nav class="navbar navbar-default">
<div class="container">
<ul class="nav navbar-nav navbar-right">
<li><a href="#/cart">Cart</a></li>
<li><a href="#/store">Store</a></li>
</ul>
</div>
</nav>
<div id="main">
<div ng-view></div>
</div>
</div>
<%--//javascript scripts--%>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.js"></script>
<script src="/scripts/angular.min.js"></script>
<script src="/scripts/angular-route.js"></script>
<script src="script.js"></script>
</div>
--script.js--
var storeApp = angular.module('AngularStore', ['ngRoute']).
config(['$routeProvider', function ($routeProvider) {
$routeProvider.
when('/store', {
templateUrl: "partials/store.html",
controller: 'HomeController'
}).
when('/products/:productSku', {
templateUrl: 'partials/product.html',
controller: 'HomeController'
}).
when('/cart', {
templateUrl: 'partials/shoppingCart.html',
controller: 'cartController'
}).
otherwise({
redirectTo: '/cart'
});
}]);
//I have tried including $route in function dependencies here.
storeApp.controller('HomeController', function ($scope) {
// create a message to display in our view
$scope.message = 'Everyone come and see how good I look!';
});
storeApp.controller('cartController', function ($scope) {
$scope.message = 'Look! I am a cartController page.';
});
storeApp.controller('mainController', function ($scope) {
$scope.message = 'Look! I am a mainController page.';
});
我以前实现过这个,问题很少。无法回忆起需要设置的任何特殊设置。表单验证可能很棘手,因为 Web 应用程序将大部分页面包装在一个表单中。如果没有关于您的具体问题的更多信息,我只能提供这些信息。
这些额外的步骤使其发挥作用。
在hrefs前添加#/:
<li><a href="#/"><i class="fa fa-home"></i> Home</a></li> <li><a href="#/about"><i class="fa fa-shield"></i> About</a></li> <li><a href="#/contact"><i class="fa fa-comment"></i> Contact</a></li>
在你的 routeProvider 之前添加这个 locationProvider 配置。
scotchApp.config(['$locationProvider', function ($locationProvider) { $locationProvider.hashPrefix(''); }]);