0

Ok, I'm using ASP.NET MVC5 + AngularJS 1.3.8 here.

Index.vbhtml:

<div ng-controller="MainController">
    <tabset justified="true">
        <tab ng-repeat="t in tabs" heading="{{t.heading}}" select="go(t.route)" active="t.active"></tab>
    </tabset>
</div>
 <div ui-view="main"></div>

Tabs are working fine.

App.js:

App.config(function ($stateProvider, $urlRouterProvider, $locationProvider) {

//$locationProvider.html5Mode(true); // HTML5 Mode to remove hashbang, want to revist this later as it requires IIS rewrite rules

$urlRouterProvider.otherwise("/");

$stateProvider
// Main Page
.state('main', {
    abstract: true,
    url: '/',
    views: {
        'main': {
            templateUrl: '/',
            controller: 'MainController'
        }
    }
})

// Home page
.state('home', {
    url: '/home',
    views: {
        'main': {
            templateUrl: '/Home/Index',
            controller: 'HomeController'
        }
    }
})

// Requests Page
.state('requests', {
    url: '/requests',
    views: {
        'main': {
            templateUrl: '/Request/Index',
            controller: 'RequestController'
        }
    }
})

// Leave Requests page
.state('requests.leave', {
    url: '/leave',
    views: {
        'main': {
            templateUrl: '/Request/Leave',
            controller: 'LeaveController'
        }
    }
})
App.controller('RequestController', function ($scope, $state) {
$scope.loadComp = function () {
    $state.go('requests.comp');
};

$scope.loadOvertime = function () {
    $state.go('requests.overtime');
};

$scope.loadLeave = function () {
    $state.go('requests.leave');
};
});

Ok, so what I'm trying to accomplish is that on my Requests tab, I have three buttons, and when I click on one of those buttons, replace the parent view "main" with the appropriate state.

I see the URL change on the button click, but nothing renders.

I am getting my partial views back from the server via AJAX with no issues, except for these button clicks :(

I'd love to know what I'm doing wrong :) Thanks!

FWIW: Angular UI-Router: child using parent's view I've been trying to rework this with no luck...

Community
  • 1
  • 1
John
  • 921
  • 1
  • 9
  • 24

1 Answers1

0

What I would do is trying to point to the real templates in templateUrl like so: templateUrl: '/Request/Index.html'