C# 是否从控制器内部向控制器添加新路由? 假设我在ASP.NET内核中有一个CMS 假设根URL是test.net 假设我以管理用户的身份添加新页面test.net/docs/doc1.html
更新数据库的API调用完成后,我希望能够导航到此URL,并将此URL路由到C# 是否从控制器内部向控制器添加新路由? 假设我在ASP.NET内核中有一个CMS 假设根URL是test.net 假设我以管理用户的身份添加新页面test.net/docs/doc1.html,c#,controller,asp.net-core,C#,Controller,Asp.net Core,更新数据库的API调用完成后,我希望能够导航到此URL,并将此URL路由到Contentcontroller 如何正确配置“catch all”控制器,我指的是从URL获取路径并从数据库获取页面的控制器?我的目标是允许处理任何路径。没有固定路径,如果DB说在1/2/3/4/5.html中有一些内容,我希望它由content控制器处理 无论如何,MVC必须在这里继续工作是很重要的。因此,我有固定的API路由,但非API URL-s将由一个公共内容控制器捕获和处理。您的所有内容是否都可以放在一个文件
Content
controller
如何正确配置“catch all”控制器,我指的是从URL获取路径并从数据库获取页面的控制器?我的目标是允许处理任何路径。没有固定路径,如果DB说在1/2/3/4/5.html中有一些内容,我希望它由content
控制器处理
无论如何,MVC必须在这里继续工作是很重要的。因此,我有固定的API路由,但非API URL-s将由一个公共内容控制器捕获和处理。您的所有内容是否都可以放在一个文件夹中,例如内容?在这种情况下,您可以从Content controller中使用“全包”(通配符)路由方法:
public class Content : Microsoft.AspNetCore.Mvc.Controller
{
[Route("/Content/{*catchall}")]
public IActionResult Index(string catchall)
{
// catchall = 1/2/3/4/5.html
return View();
}
}
@米基德1。阅读有关ASP.NET Core中路由的所有信息。构建自定义路由器。我设法创建了静态路由。IDK如何在应用程序启动后添加路由。完全正确!我使用了[Route({*catchall}”)]
,甚至不需要单独的文件夹。它仍然正确地匹配API调用。我希望我知道那些“神奇的弦”在哪里被解释。。。