【问题标题】:$location.path change url but no redirecting$location.path 更改 url 但没有重定向
【发布时间】:2017-04-10 17:01:55
【问题描述】:

我想通过单击一个按钮重定向到另一个页面,但是当我单击一个按钮时,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: '/' });
       });

     })();

索引.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>
    }

我阅读了一些关于此的主题,但我不知道是模块中还是控制器中的错误。

【问题讨论】:

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


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-27
    • 1970-01-01
    • 2014-06-18
    • 2017-11-11
    • 1970-01-01
    相关资源
    最近更新 更多