gpt4 book ai didi

asp.net-mvc - 动态 url 路由 ASP MVC

转载 作者:行者123 更新时间:2023-12-01 06:59:54 25 4
gpt4 key购买 nike

我正在尝试制作一个非常简单的应用程序,让我的客户创建自己的页面。
困难的部分是让他们创建自己的 URL。

客户需要填写:

  • 页面名称(例如关于我们)。
  • 页面描述(例如,我们是一家大公司)。
  • 页面 URL 相对(例如/About)

  • 当客户端输入这些信息并保存时,它应该保存在数据库中。

    我可以轻松创建一个名为“Page”的 Controller ,它采用值“ID”,当用户输入“www.someurl.com/Page/1”时,新创建的页面会弹出。

    但我真正想要的是让用户写“www.someurl.com/About”然后页面弹出。

    这如何通过使用 ASP MVC 的某种动态重写/路由代码来完成。

    最佳答案

    我的想法是在您的“页面”表中创建一个名为“Slug”的字段。当您的用户创建一个新页面时,他们必须填写“Slug”字段并输入他们希望在 url 中看到的内容(例如:想要的页面 - “关于”,slug - “关于” | 想要的页面 - “参见我们的赞助商”,slug - “查看我们的赞助商”| 等)。如果需要,您可以使用一点 javascript 自动执行此过程。

    像这样创建一个路由:

    routes.MapRoute(
    null,
    {slug},
    new { controller = "Page", action = "ChoosePage" });

    创建一个 Action 方法,如下所示:
    [AcceptVerbs(HttpVerbs.Get)]
    public ViewResult ChoosePage(string slug)
    {
    //Logic to display page
    }

    基本上它会像您将页面 id 放在 url 中的想法一样工作,但它会更清晰,并且会使用“slug”来执行数据库查找而不是页面 id。

    关于asp.net-mvc - 动态 url 路由 ASP MVC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1969889/

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