Próbuję użyć ASP.NET MVC (nie core) z AngularJS 2 i mając pewne problemy z routingiem.Angular 2 - Routing z ASP.NET MVC
pierwsze w RouteConfig.cs, mam następujące tras zdefiniowane
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
// when the user types in a link handled by client side routing to the address bar
// or refreshes the page, that triggers the server routing. The server should pass
// that onto the client, so Angular can handle the route
routes.MapRoute(
name: "spa-fallback",
url: "{*url}",
defaults: new { controller = "Home", action = "Index" }
);
W moim app.route.ts (kątowe tras), właśnie zdefiniowano kilka tras. Moja trasa domyślna przekierowuje do innej drogi jak
export const router: Routes = [{
path: '',
redirectTo: 'auctions/e231',
pathMatch: 'full'
},
{
path: 'auctions/:id',
component: AuctionComponent,
children: []
}
];
Kiedy uruchomić aplikację, moja droga serwer/Home/Index jest serwowane grzywny, która ładuje kanciasty i trasa domyślna aplikacja w moich app.route.ts mnie przekierowuje z aukcji/E231 i końcowy URL przeglądarce staje
http://localhost:53796/auctions/e231
Wszystko działa zgodnie z oczekiwaniami, ale kiedy odświeżyć stronę z tego adresu URL, pojawia się błąd serwera dla zasobu nie znaleziono, który jest oczekiwany również dlatego, że poszukuje Kontroler o nazwie Aukcje, których nie ma w MVC. Chcę wiedzieć, dlaczego moja droga powrotna spa w RouteConfig.cs nie odbiera? Czy istnieje lepszy sposób na obsłużenie tego scenariusza w asp.net mvc, ponieważ chcę móc korzystać z niektórych moich działań kontrolera MVC takich jak/Account/Login i inne.
Dlaczego nie używasz jednej trasy od strony serwera, a innej od strony klienta? Chodzi mi o to, żeby widok domowy brzytwy był ładowany, a z html i js niech działa raster kątowy? –
To nie jest dobry pomysł przy użyciu asp.net MVC (jako interfejs użytkownika) z angle2. –
@HassanFalahi Tak, ale wymaganie było wtedy takie, aby korzystać z serwera tożsamości i używać wbudowanych szablonów do zarządzania użytkownikami –