我正在开发ASP.NET Core MVC/Angular JS应用程序。
当我开发和运行vs 2015和IIS Express时,一切都起作用。
但是,当我将文件发布到本地IIS并尝试穿过那里时,它无法正常工作。主页正常工作,这实际上是最终的角度,否则路线:
$routeProvider.otherwise({
templateUrl: "/app/views/home.html"
});
我终于追踪了发生的事情,但我不知道为什么?
在我的aSp.net核心mvc _layout.cshtml我的 <a>
元素中,在我的navbar中
<a href="#!/employee_list">Employees</a>
<a href="#!/non_employees">Non Employees</a>
通过VS 2015和IIS Express在DEV中运行良好。URL看起来像这样:
http://localhost:2352/#!/employee_list
一切都应该呈现。
但是在发布并通过Full II(本地)运行后,相同的<a>
链接给出了这样的URL:
http://lerd/#/!/employee_list
注意'/'#'和'!'之间的'/'。
所以而不是'/#!/lighteree_list'我得到'/#/!/lighteree_list。
世界上是什么?还有其他人经历过吗?
我只是注意到,如果您手动在浏览器中手动键入正确的URL并击中输入它会在其中插入额外的斜线。因此,这不是真正的应用程序。这是浏览器,也许是IIS。
好吧,似乎您需要'#'prod and'#!'在Dev。
所以我在设置Navbar的布局文件中进行了此操作:
<environment names="Development">
<li><a href="#!/employee_list">Employees</a></li>
<li><a href="#!/non_employees">Non Employees</a></li>
</environment>
<environment names="Staging,Production">
<li><a href="#/employee_list">Employees</a></li>
<li><a href="#/non_employees">Non Employees</a></li>
</environment>