ASP.NETCore中的MapDynamicControllerRoute只有选择性地工作
创始人
2024-09-18 14:00:32
0

这可能是由于控制器的名称没有正确匹配和注册引起的。要解决这个问题,需要检查控制器的名称是否正确注册并匹配URL模式。以下是示例代码:

在Startup类的Configure方法中,添加以下代码来注册控制器:

app.UseEndpoints(endpoints =>
{
   endpoints.MapControllerRoute(
      name: "default",
      pattern: "{controller=Home}/{action=Index}/{id?}");
 
   // Add the dynamic controller route
   endpoints.MapDynamicControllerRoute(
             "{controller}/{action}/{id?}");
});

在这个示例中,我们使用了MapDynamicControllerRoute方法来注册动态控制器路由,并提供了一个自定义的控制器路由类CustomControllerRoute。要确保控制器的名称与路由模式匹配,以下是自定义控制器路由类的示例代码:

public class CustomControllerRoute : ControllerRoute
{
   public override bool TryParse(
      string controllerName, 
      out RouteValueDictionary routeValues)
   {
      if (controllerName == "CustomControllerName")
      {
         routeValues = new RouteValueDictionary();
         routeValues["controller"] = controllerName;
         return true;
      }
 
      return base.TryParse(controllerName, out routeValues);
   }
}

在这个示例中,我们改写了TryParse方法以正确匹配自定义控制器名称。如果控制器名称与自定义名称匹配,则创建一个新的RouteValueDictionary,将控制器名称添加到路由值中,并返回true。否则,我们调用基类的TryParse方法并返回基类的结果。

相关内容

热门资讯

透视要领!德普之星辅助器怎么用... 透视要领!德普之星辅助器怎么用(WePoKer黑科技)确实真的是有辅助软件(哔哩哔哩)1、全新机制【...
透视窍要!hardrock透视... 您好,hardrock透视工具这款游戏可以开挂的,确实是有挂的,需要了解加去威信【136704302...
透视绝活!hhpoker德州透... 透视绝活!hhpoker德州透视挂(AApoker插件)确实是有辅助插件(哔哩哔哩)1、起透看视 h...
透视指南书!hhpoker买挂... 透视指南书!hhpoker买挂(WePoKer助手)一贯是有辅助神器(哔哩哔哩)1、hhpoker买...
透视攻略!wepoker究竟有... 透视攻略!wepoker究竟有没有透视(HHpoker有用)果然存在有辅助攻略(哔哩哔哩)wepok...
透视窍要!wepoker免费脚... 透视窍要!wepoker免费脚本咨询(WePoKer工具)都是存在有辅助插件(哔哩哔哩)1、wepo...
透视阶段!hhpoker开挂教... 透视阶段!hhpoker开挂教程(WePoKer app)竟然真的有辅助神器(哔哩哔哩)hhpoke...
透视办法!wpk辅助软件(WP... 透视办法!wpk辅助软件(WPK透视版)切实是真的有辅助技巧(哔哩哔哩)1、wpk辅助软件免费脚本咨...
透视积累!德州hhpoker是... 透视积累!德州hhpoker是真的吗(WePoKer辅助器)切实是有辅助脚本(哔哩哔哩)1、德州hh...
透视模板!德州局透视脚本(WP... 透视模板!德州局透视脚本(WPK购买)切实存在有辅助方法(哔哩哔哩)1、很好的工具软件,可以解锁游戏...