【问题标题】:Kentico and ASP.Net MVC Custom RoutingKentico 和 ASP.Net MVC 自定义路由
【发布时间】:2016-09-07 15:11:44
【问题描述】:

有没有办法在 Kentico 中获取 MVC 路由来处理单个 URL 段中的多个 URL 参数?

示例: 我正在尝试路由到 /base/{param1}-{param2} 我也希望能够路由到/base/{param1} 此外,{param2} 可能包含一个或多个“-”字符... 一个示例路线是:/base/1234-jon-doe-something-or-another 理想情况下,这将通过 param1 设置为 1234 和 param2 设置为 jon-doe-something-or-another 输入 Kentico

这可能吗?

奇怪路线的原因是复制了遗留功能。

【问题讨论】:

  • 您将需要两条带约束的独立路线。 base/{param1:int}base/{param1:int}-{*param2}
  • 我不得不使用 /base/{param} 并将消费组件中的参数分开。这是可行的,但需要一个一次性的 Web 部件。

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


【解决方案1】:
routes.MapRoute(
    name: "Your route",
    url: "/base/{param1}-{*param2}",
    defaults: new { controller = "Foo", action = "Index" }
);

然后在你的FooController.cs

public ActionResult Index(string param1, string param2)
{
    // Do something with param1
    // Do something with param2
}

现在param2 将在第一个破折号'-' 之后获取所有内容。

如果您想添加到路由的末尾,您可以继续在路由中构建您的 url,例如 url: "/base/{param1}-{*param2}/more/routing",

【讨论】:

    猜你喜欢
    • 2011-04-02
    • 2020-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-22
    • 2014-02-14
    • 1970-01-01
    相关资源
    最近更新 更多