[英]IIS Virtual Directory with MVC6 Angular Routing 1.4.5
我有一个MVC6 / Angular网站,该网站将有多个应用程序,但目前只有一个。 完成后,示例将为App1
和App2
为.cshtml
页面,仅具有div并具有data-ng-app
和data-ng-view
属性:
mysite.come/virtualdir/App/App1:
<div class="row" data-ng-app="app-app1">
<div data-ng-view></div>
</div>
mysite.come/virtualdir/App/App2
<div class="row" data-ng-app="app-app2">
<div data-ng-view></div>
</div>
对于有角度的,我了解如果我在IIS中有虚拟目录,则需要在_Layout.cshtml的标头部分中添加(实际上将其放在_Layout中会破坏开发):
<base href="@Url.Content("~/")" />
我在开发中的app1的原始templateUrl和角度链接为:
$routeProvider.when("/", {
templateUrl: "/views/app1/index.html"
});
$routeProvider.when("/items", {
controller: "receiveController",
controllerAs: "vm",
templateUrl: "/views/app1/receiveView.html"
});
// typical link in html page for app1
<a data-ng-href="#/items"></a>
当我部署到IIS时,当用户导航到mysite.come/virtualdir/App/App1
时,需要具有以下路由才能加载到索引页
$routeProvider.when("/", {
templateUrl: "../views/app1/index.html"
});
之后,我的其他任何链接均无效:
<a data-ng-href="#/items"></a> navigates me to mysite.com/virtualDir/#/items
如何在html页面中构造hrefs? 我试着玩../#/items/
和..#/items
并将..
添加到另一个templateUrl
但是似乎没有任何效果。 谢谢
因此,似乎最简单的解决方案是如下定义路由和href。 我的问题不是同时拥有所有这三个组合。 我以为我根据我定义的〜/ App / App1定义了角度路线的根源:
<div class="row" data-ng-app="app-app1">
<div data-ng-view></div>
</div>
所以我需要在app.js中:
$routeProvider.when("/", {
templateUrl: "views/app1/index.html"
})
@我的_Layout.cshtml的顶部
<base href="/app/">
我的href:
data-ng-href="App/App1#/items"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.