我有一个带有@RenderBody()的标记html:
<div layout="column" class="relative" layout-fill role="main">
<md-toolbar class="md-hue-2">
<div class="md-toolbar-tools">
<md-button class="md-icon-button" aria-label="Settings" ng-disabled="true">
<md-icon md-svg-icon="navigation:menu"></md-icon>
</md-button>
<md-button ui-sref="dashboard">Dashboard</md-button>
<md-button ui-sref="home">Home</md-button>
</div>
</md-toolbar>
<md-content layout-fill md-padding>
<div id="main-content" ui-view="">
@RenderBody()
</div>
</md-content>
</div>
字符串
这里的js:
app.config(function ($stateProvider, $urlRouterProvider, $locationProvider) {
$urlRouterProvider.otherwise('/Home/Index');
$stateProvider
.state('home', {
url: '/Home/Index',
templateUrl: '/Home/Index' // corresponds to an MVC partial route
})
.state('dashboard', {
url: 'Home/Dashboard',
templateUrl: '/Home/Dashboard' // corresponds to an MVC partial route
})
});
型
结果是它自己的视图在一个视图中。我不能弄清楚。下面是输出:x1c 0d1x
2条答案
按热度按时间lawou6xi1#
我在我的一些应用程序中看到这个问题。你的布局加载了两次。你所需要做的就是在从uiroute渲染时“使你的布局为空”,如下所示。将此添加到Index.cshtml页面的顶部。
字符串
或者在内容div外部加载ui视图
型
或者你可以使用viewContentLoaded,它在使用angular中的uirutter时在DOM加载后触发,如下所示:
型
v2g6jxz62#
我知道这是一个老问题,但是,这帮助我解决了这个问题。基本上,我有类似的代码,我结合了Ravi Kiran的答案:
我把它放在我的'Index.cshtml'的顶部,在我的情况下也是'Main.cshtml'(不起作用):
字符串
但我加了这个:
型
我的'布局.cshtml'有这个:
型