Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.NET MVC 5-具有属性路由、动态控制器和操作方法的自定义URL_C#_Asp.net Mvc_Asp.net Mvc 5_Asp.net Mvc Routing - Fatal编程技术网

C# ASP.NET MVC 5-具有属性路由、动态控制器和操作方法的自定义URL

C# ASP.NET MVC 5-具有属性路由、动态控制器和操作方法的自定义URL,c#,asp.net-mvc,asp.net-mvc-5,asp.net-mvc-routing,C#,Asp.net Mvc,Asp.net Mvc 5,Asp.net Mvc Routing,NET MVC 5**我想要这样的URL 我知道我可以使用属性路由实现它,如下所示 [RoutePrefix(".Net")] [Route("{action=Index}")] public class NetController : Controller { [Route(".Net-Core")] public ActionResult NetCore() { return View(); } } 但是我想动态地生成控制器和动作方法。并使

NET MVC 5**我想要这样的URL

我知道我可以使用属性路由实现它,如下所示

[RoutePrefix(".Net")]
[Route("{action=Index}")]
public class NetController : Controller
{
    [Route(".Net-Core")]
    public ActionResult NetCore()
    {
        return View();
    }
}
但是我想动态地生成控制器和动作方法。并使用属性路由。
我想在URL中使用点(.),
第二件事,我希望URL非常简单,只有3个部分,如 DomainName/CategoryOfArticle/ArticleName 与URL DomainName-BornToProgram.com、CategoryofArticle-.Net、ArticleName-.Net核心相同

总之,我想让管理员决定他可以每月或每天提交的新文章的URL部分。 类似于文章的类别(示例中为(.Net) 然后是文章的名称(.Net Core、.Net Framework)
管理员希望完全控制URL

,因为属性用于将元数据附加到类,所以它是在运行时进行的。但即使可以,将它们读取并转换为
Route
实例的属性路由框架也不太可能正常工作

如果需要创建动态驱动的路由,解决方案是添加URL和/或指定它们在运行时应该引用的控制器。您应该像示例中那样缓存URL列表,但没有理由不调整缓存,以便在应用程序中添加单个URL时,可以将它们逐个添加到缓存中(一次性将它们添加到缓存和数据源中,以便它们立即和永久可用).

动态生成控制器和操作方法是什么意思?如本问题所述