强制 MapRoute 的所有标记与 URL 字符串完全匹配

发布于 2024-08-09 13:03:00 字数 371 浏览 4 评论 0原文

仅当 URL 字符串中存在所有标记时,是否有任何方法可以强制执行路由?

考虑此路由:

RouteTable.Routes.MapRoute(
    "Default",
    "{controller}/{action}/{id}",
    new
    {
        controller = "Test",
        action = "Index",
        id = 0
    }
);

此路由在 /Home/Index/1/Home/Index 上执行。但我只希望它在 URL 字符串中存在所有令牌时执行:控制器、操作和 id。

Is there any way to force a Route to be executed, only if all tokens are present in the URL string?

Consider this Route:

RouteTable.Routes.MapRoute(
    "Default",
    "{controller}/{action}/{id}",
    new
    {
        controller = "Test",
        action = "Index",
        id = 0
    }
);

This Route execute on /Home/Index/1 and /Home/Index. But I only want it to get executed if all tokens are present in the URL string: controller, action and id.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

ヅ她的身影、若隐若现 2024-08-16 13:03:00

很简单:去掉默认的ID值,然后需要设置所有三个。

Simple: take out the default ID value and it will require all three to be set.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文