簡體   English   中英

ngRoute控制器在ASP.NET MVC中形成部分視圖

[英]ngRoute controller form partial view in ASP.NET MVC

在我的整個應用程序中設置ngRoute會產生問題。 許多視圖中使用的控制器取決於ASP.NET控制器中從數據庫中獲取的腳本。 這是一個例子:

角度應用

var app = angular.module("app", ["ngRoute"])
    .config(["$routeProvider", "$locationProvider", function($routeProvider, $locationProvider) {
        $routeProvider
            .when("/Template/:id", {
                templateUrl: function(arg) { return "/User/Template/Details/" + arg.id },
                controller: "FormController"
            });                
        $locationProvider.html5Mode(false).hashPrefix("!");
    }]);

剃刀視圖Details.cshtml:

@{
    Layout = null;
}
<head>
    <script type="text/javascript">
        alert('triggered');
        angular.module("app").controller("FormController", ["$scope", function ($scope) {
            alert("not triggered");
            $scope.xyz = 1;
        }]);
    </script>
</head>
<div id="template-details" class="col-xs-12" ng-controller="FormController" ng-cloak>
    <span>{{xyz}}</span>
</div>

它將加載視圖很好,除非它不啟動控制器(使用ViewBag代碼)。 腳本塊執行得很好(用第一個alert()測試)。

當您獲得controller is undefined時要記住的幾件事:

  1. 在調用FormController腳本之前,請確保已加載Angular App
  2. 確保您的FormController div位於ng-app="app" div
  3. 確保在angular之后加載ng-route

我已經根據您提供的內容創建了一個JsFiddle ,並且效果很好。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM