使用控制器名称和操作名称main.js时找不到asp.net核心的Angular 2设置问题

时间:2016-12-31 04:18:58

标签: c# asp.net angular asp.net-core

我已经在asp.net核心中成功设置了我的角度2应用程序,它运行良好。 我的main.js文件位于app文件夹中。

工作正常,因为默认的mvc模板是

 app.UseMvc(routes =>
            {
                routes.MapRoute(
                    name: "default",
                    template: "{controller=Home}/{action=Index}/{id?}");
            });

working fine template

我正面临一个新问题。我使用了如下的achor标签。 `

<li><a asp-controller="Account" asp-action="Login">Login </a></li>

现在导航网址为http://localhost:28739/Account/Login

在我的systemjs.config.js中,我提到了以下显示的主要内容

 packages: {
            app: {
                main: './main.js',
                defaultExtension: 'js'
            },
            rxjs: {
                defaultExtension: 'js'
            },
            'angular2-in-memory-web-api': {
                main: './index.js',
                defaultExtension: 'js'
            }
        }

当网址中没有控制器名称和操作名称时,它的工作效果很好。但是当他们是控制器名称和动作名称时。它给我一个错误,因为找不到main.js。下面是图片。

error of main.js not found

有谁能告诉我如何解决这个问题。

2 个答案:

答案 0 :(得分:0)

终于找到了解决方案。以下是参考链接http://blog.nbellocam.me/2016/03/21/routing-angular-2-asp-net-core/

我在startup.cs中添加了

routes.MapRoute(
                    name: "spa-fallback",
                    template: "{*url}",defaults: new { controller = "Home", action = "Index" });

在布局视图中添加<Head><base href="/" /></Head>

答案 1 :(得分:0)

在索引页面中使用<base href="/" />