【问题标题】:How can i get an ID as parameter from an URL如何从 URL 获取 ID 作为参数
【发布时间】:2013-05-08 09:15:03
【问题描述】:

我要路由以下网址;

/anything/anything-v43243-anything

如何将其路由到特定的控制器和以该 id 作为参数的操作? 文本“anything”必须是至少包含几个字符的文本。 id 需要以字母“v”开头。 我希望这可以创建友好的 URL

【问题讨论】:

    标签: asp.net-mvc asp.net-mvc-routing url-routing


    【解决方案1】:

    您可以为此编写自定义路线并为不同部分编写适当的约束:

    routes.MapRoute(
        "myroute",
        "anything/{x}-{id}-{y}",
        new { controller = "SomeController", action = "SomeAction" },
        new { x = "[a-z]+", y = "[a-z]+", id = @"\d+" }
    );
    

    【讨论】:

    • 我只需要id,其他不重要;仅用于友好的 URL 目的。并且id需要以字母“v”开头
    • 即使它不重要,您也需要将其包含在路由模式中,如我的回答所示:"anything/{x}-{id}-{y}"。至于 id 必须以字母 v 开头,只需为 id 约束调整正则表达式即可。在我的示例中,它只接受整数值,但如果您需要其他内容,请确保编写相应的正则表达式。
    猜你喜欢
    • 2020-07-11
    • 1970-01-01
    • 1970-01-01
    • 2018-12-11
    • 1970-01-01
    • 2020-11-28
    • 2018-08-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多