gpt4 book ai didi

c# - ASP.NET MVC 5 - 具有属性路由和动态 Controller 和操作方法的自定义 URL

转载 作者:行者123 更新时间:2023-11-30 17:39:41 27 4
gpt4 key购买 nike

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/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com