Asp.net core 启动ASP.NET Core时的MapSpaFallbackRoute
我在Asp.net core 启动ASP.NET Core时的MapSpaFallbackRoute,asp.net-core,routes,.net-core,asp.net-mvc-areas,Asp.net Core,Routes,.net Core,Asp.net Mvc Areas,我在Net Core App上有一个名为Admin的区域,在启动时的MapSpaFallbackRoute设置中,我想这样设置 app.UseMvc(routes => { routes.MapSpaFallbackRoute( name: "spa-fallback-admin", defaults: new { area="Admin", controller = "Home", action = "Index" }); }); 这
Net Core App
上有一个名为Admin
的区域,在启动时的MapSpaFallbackRoute
设置中,我想这样设置
app.UseMvc(routes =>
{
routes.MapSpaFallbackRoute(
name: "spa-fallback-admin",
defaults: new { area="Admin", controller = "Home", action = "Index" });
});
这是定义MapSpaFallbackRoute
的正确方法吗?我怀疑mapsapafallbackroute
是否有属性区域,
我一直在尝试这个,我的应用程序返回404(未找到)。
那么,定义MapSpaFallbackRoute
的正确方法是什么呢?我想在管理区域使用HomeController,并执行索引操作
这是我的完整代码,我想请求与路径管理员,管理员区域的控制器应处理
app.MapWhen(context => context.Request.Path.Value.StartsWith("/admin"), builder =>
{
builder.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{area=Admin}/{controller=Home}/{action=Index}/{id?}");
routes.MapSpaFallbackRoute(
name: "spa-fallback-admin",
defaults: new { area="Admin", controller = "Home", action = "Index" });
});
});
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
routes.MapSpaFallbackRoute(
name: "spa-fallback",
defaults: new { controller = "Home", action = "Index" });
routes.MapRoute(
name: "areas",
template: "{area:exists}/{controller=Home}/{action=Index}/{id?}");
});
感谢您的帮助MapSpaFallbackRoute所做的是允许为处理404个案例的路由参数定义默认值 现在回答您的问题:是的,
{area}
作为路由参数,所以您可以编写上面的代码来定义默认值
您没有显示路由设置,因此我假设您的主要问题是没有在路由模板中指定{area}
参数
例如,如果考虑常规路由,下面的工作应该是:
app.UseMvc(routes => {
routes.MapRoute("default", "{area}/{controller}/{action}/{id?}");
routes.MapSpaFallbackRoute(
name: "spa-fallback-admin",
defaults: new { area="Admin", controller = "Home", action = "Index" });
});
有关最新问题: 尝试使用
.UseWhen
而不是.MapWhen
:
app.UseWhen(context => context.Request.Path.Value.StartsWith("/admin"), builder =>
{
也许它会给你一些启示:谢谢,但我没有找到我想要的,我也不想在角度上处理它,你知道怎么做吗?某些区域的门禁控制器我已经更新了我的问题,我添加了一些关于我代码的细节,你的解决方案对我仍然不起作用,我是否遗漏了什么?@ripasfilkadar请检查更新。老实说,我不知道为什么它会以这种方式工作,并创造了一个