带有Angular的ASP.NET MVC:-页面刷新或重新加载给出404错误

Kar*_*ran 4 asp.net-mvc angular-ui-router angular

角度Ver:5

我正在使用ASP.NET MVC进行新项目,并已与它集成了angular 5。该项目工作正常,除了页面刷新会产生404页面未找到错误。每当我从浏览器中刷新或重新加载页面时,就会出现404错误。

我已经完成了有关此Angular页面刷新问题的许多教程和讨论,但到目前为止还算不上成功。

我正在使用MVC共享视图_Layout.cshtml来指定角度lib引用和基本引用,如下所示:

  <!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title></title>

    <base href="/">

    @Styles.Render("~/Content/css")
    @Scripts.Render("~/bundles/modernizr")
    @Scripts.Render("~/bundles/bootstrap")

    <script src="~/node_modules/core-js/client/shim.min.js"></script>
    <script src="~/node_modules/zone.js/dist/zone.js"></script>
    <script src="~/node_modules/systemjs/dist/system.src.js"></script>
    <script src="~/Web/systemjs.config.js"></script>
    <script>
        System.import('Web/main.js').catch(function (err) { console.error(err); });
    </script>
</head>
<body>
    @RenderBody()

    @RenderSection("scripts", required: false)
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

请建议我应该在哪里进行更改。

Joh*_*uez 7

RouteConfig位于App_Start的位置,将您的路线映射更改为此

routes.MapRoute(
     name: "Default",
     url: "{*url}",
     defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
Run Code Online (Sandbox Code Playgroud)

基本上,这将捕获您的所有路径。

Angular是SPA环境,因此您只需要一个的实例,View这是您的HomeController