Asp.net mvc 带asp.net mvc的角度4布线(共享布局)
我正在用asp.net mvc和angular 4构建一个应用程序。我有一个共享布局,其中包含我的页面的所有链接,它是.cshtml。当我给一个链接,将使用角路由。但当我点击链接时,它不工作,页面不显示 我的共享版面链接代码:Asp.net mvc 带asp.net mvc的角度4布线(共享布局),asp.net-mvc,angular,angular4-router,Asp.net Mvc,Angular,Angular4 Router,我正在用asp.net mvc和angular 4构建一个应用程序。我有一个共享布局,其中包含我的页面的所有链接,它是.cshtml。当我给一个链接,将使用角路由。但当我点击链接时,它不工作,页面不显示 我的共享版面链接代码: <li><a href="@Url.Action("Index","Admin")">User List</a></li> <li><a h
<li><a href="@Url.Action("Index","Admin")">User List</a></li>
<li><a href="@Url.Action("PermissionIndex","Admin")">Permission Index</a></li>
<li><a href="@Url.Action("RoleCreate","Admin")">Role Create</a></li>
<li><a href="@Url.Action("RoleIndex","Admin")">Role Index</a></li>
<li><a routerLink="/homes" routerLinkActive="active">Home</a> </li>
const routes: Routes = [
{ path: '', redirectTo: '/dashboard', pathMatch: 'full' },
{ path: 'dashboard', component: DashboardComponent },
{ path: 'detail/:id', component: HeroDetailComponent },
{ path: 'heroes', component: HeroesComponent },
{ path: 'homes', component: HomeComponent }
];
@NgModule({
//imports: [
// BrowserModule,
// FormsModule,
// RouterModule.forRoot(routes, { useHash: true }) // .../#/crisis-center/
//],
imports: [ RouterModule.forRoot(routes) ],
exports: [ RouterModule ]
})
When I click on home then nothing showing up.
这是应用程序路由模块:
<li><a href="@Url.Action("Index","Admin")">User List</a></li>
<li><a href="@Url.Action("PermissionIndex","Admin")">Permission Index</a></li>
<li><a href="@Url.Action("RoleCreate","Admin")">Role Create</a></li>
<li><a href="@Url.Action("RoleIndex","Admin")">Role Index</a></li>
<li><a routerLink="/homes" routerLinkActive="active">Home</a> </li>
const routes: Routes = [
{ path: '', redirectTo: '/dashboard', pathMatch: 'full' },
{ path: 'dashboard', component: DashboardComponent },
{ path: 'detail/:id', component: HeroDetailComponent },
{ path: 'heroes', component: HeroesComponent },
{ path: 'homes', component: HomeComponent }
];
@NgModule({
//imports: [
// BrowserModule,
// FormsModule,
// RouterModule.forRoot(routes, { useHash: true }) // .../#/crisis-center/
//],
imports: [ RouterModule.forRoot(routes) ],
exports: [ RouterModule ]
})
When I click on home then nothing showing up.
我在尝试将Angular添加到现有ASP.NETMVC网站时也遇到了同样的问题 我已将以“/app”开头的每个路径的路由配置为重定向到我的AppController(我的应用程序主页) 我在MVC和Angular页面之间有一个共享布局,其中包含大量@Url.Action和@Action.Links的菜单 这是我最初的MVC路由,也是导致问题的原因
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default",
"{controller}/{action}/{id}",
new {controller = "Home", action = "Index", id = UrlParameter.Optional},
new
{
serverRoute = new ServerRouteConstraint(url => !url.PathAndQuery.StartsWith("/app", StringComparison.InvariantCultureIgnoreCase))
}
);
routes.MapRoute(
"angular",
"{*url}",
new {controller = "App", action = "Index"}
);
}
}
这方面的问题是,正在解决一个@Url.Action:
<a href="@Url.Action("Action", "Controller")">Link</a>
这是一个巨大的帮助!非常感谢。