NET MVC 5** 我想要这样的网址 http://borntoprogram.com/.Net/.Net-Core/
我知道我可以使用如下所示的属性路由来实现它
[RoutePrefix(".Net")]
[Route("{action=Index}")]
public class NetController : Controller
{
[Route(".Net-Core")]
public ActionResult NetCore()
{
return View();
}
}
但我想动态生成 Controller 和操作方法。并使用属性路由。
我想在 URL 中使用 Dots (.) ,
第二件事我希望 url 非常简单,只有 3 个部分,比如
域名/文章类别/文章名称
如 URL DomainName -BornToProgram.com,CategoryofArticle -.Net,ArticleName -.Net-Core
总而言之,我想让管理员决定他可以每月或每天提交的新文章的 URL 部分。 喜欢文章的类别(例如.Net) 然后是文章名称(.Net-Core、.Net-Framework) 管理员想要完全控制 URL
最佳答案
由于属性用于将元数据附加到类,所以它是 not possible to dynamically add them在运行时。但即使可以,读取它们并将它们转换为 Route
实例的属性路由框架也不太可能正常运行。
如果你需要制作动态驱动的路线,解决方案是inherit RouteBase
因此您可以添加 URL 和/或指定它们在运行时应引用的 Controller 。您应该像示例中一样缓存 URL 列表,但没有理由不调整缓存,以便在将它们添加到您的应用程序中时可以将单个 URL 一个一个地添加到它(将它们添加到缓存和数据源,因此它们立即和永久可用)。
关于c# - ASP.NET MVC 5 - 具有属性路由和动态 Controller 和操作方法的自定义 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35214300/