2016-12-31 3 views
2

Ich habe erfolgreich meine angular 2-Anwendung in asp.net Kern eingerichtet, die gut funktioniert. Meine Datei main.js befindet sich im App-Ordner.Angular 2 Setup-Problem mit asp.net Kern bei der Verwendung von Controller-Namen und Aktion Name main.js nicht gefunden

adaequat beacause Standard mvc templete ist

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

working fine template

ich ein neues Problem konfrontiert bin. Ich habe das achor-Tag wie folgt verwendet. `

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

Nun ist die Navigation URL ist http://localhost:28739/Account/Login

In meinem systemjs.config.js habe ich unter

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

Sein Haupt als Show erwähnen großen Werke, wenn es keine Controller-Name ist und Aktionsname in der URL Aber wenn sie Controller-Name und Aktionsname ist. Es gibt mir einen Fehler als main.js nicht gefunden. Unten ist das Bild.

error of main.js not found

Kann jemand bitte sagen Sie mir, wie dieses Problem zu lösen.

+0

Wenn es gut funktioniert, haben Sie überprüft das Netzwerk Protokoll? Was ist der Endpunkt für main.js? – Chandermani

+0

@chandermani - Ich habe aktualisiert. Bitte guck dir das an. Bitte lassen Sie mich wissen, wie ich dieses Problem beheben kann. –

+0

Sie sollten URL-Rewrite-Setup korrekt für Server mit HTML5-Modus mit Hashless URLs arbeiten. Sehen Sie, wenn diese Antwort Ihnen hilft http://stackoverflow.com/questions/25730797/asp-net-mvc-hosting-angular-app-with-html5mode-and-routing. Grundsätzlich sollte Ihr Server immer auf den gleichen Weg immer bei der Verwendung von Angular – Chandermani

Antwort

0

Endlich die Lösung gefunden. Hier ist die Referenz-Link http://blog.nbellocam.me/2016/03/21/routing-angular-2-asp-net-core/

ich hinzugefügt haben, in startup.cs

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

Und fügen <Head><base href="/" /></Head> in der Layoutansicht

Verwandte Themen