$ location.path更改网址但不重定向

时间:2016-11-26 14:40:07

标签: javascript c# angularjs asp.net-mvc

我想通过点击一个按钮重定向到另一个页面,但是当我点击一个按钮时,URL被更改,但是没有重定向,我必须用新的URL刷新页面。当我点击链接时也会发生同样的情况。

locationController.js

    angular.module('reservationModule').controller('locationController', function($scope, $location){
    $scope.setLocation = function (url) {
    $location.path(url);
};
    })

reservationModule.js

    (function () {
       var resModule = angular.module('reservationModule', ['ngRoute']); 

       resModule.controller('HomeController', function ($scope) {  // here $scope is used for share data between view and controller
   $scope.Message = "Yahoooo! we have successfully done our first part.";
       });

       resModule.config(function ($locationProvider, $routeProvider) {
   $locationProvider.html5Mode(true);
   $routeProvider
       .when('/', {
           templateUrl: '/Home/Index.cshtml',
           controller: 'locationController'
       })
       .when('/Home/Index', {
           templateUrl: '/Home/Index.cshtml',
           controller: 'locationController'
       })
       .when('/Home/Registration', {
           templateUrl: '/Home/Registration.cshtml',
           controller: 'registerController'
       })
       .when('/Home/Login', {
           templateUrl: '/Home/Login.cshtml',
           controller: 'loginController'
       })
       .otherwise({ redirectTo: '/' });
       });

     })();

Index.cshtml

    @{
//    Layout = "~/Views/Shared/_Layout.cshtml";
ViewBag.Title = "Webový rezervační systém";
    }
    <base href="/">
    <div class="container" ng-controller="locationController">
<header class="header">
    <div class="headerleft">
        <div class="headerlogo">
            <a href="/Home/Index"><img alt="reservation" src="../Content/pics/vetstoria-logo.jpg" width="50" height="50"></a>
        </div>
    </div>  
        <div class="headerright">
            <p class="headerlogintext">
                <a class="btn headerlogin" href="/Home/Login" style="text-decoration:none">Přihlašte se</a>
            </p>
        </div>

</header>

<div class="content">
    <h1 class="content-title">Webový rezervační systém</h1>
    <p class="content-title-text">V našem rezervačním systému se můžete rezervovat na cokoliv chcete. Ať už si chcete rezervovat sportoviště, nějaký kurz nebo jiné, u nás to jde snadno.</p>

    <p class="content-title-text">Pro začátek vám stačí jediné.</p>
    <button class="btn-big" ng-click="setLocation('/Home/Registration')">Registrovat</button>
</div>
       <!-- <ul class="menuUl">
            <li>@Html.ActionLink("Register", "Registration")</li>
</ul>-->

     @section Scripts{
        <script src="~/Scripts/Angular_Controllers/locationController.js"></script>
    }

我读了一些关于此的主题,但我不知道,如果模块或控制器中有错误。

1 个答案:

答案 0 :(得分:0)

我有类似的问题。模板网址应指向“.html”而不是“.cshtml”。当您尝试访问Visual Studio创建的默认文件夹中的文件时,由于某种原因您无法访问它。所以尝试改变你的道路。