gpt4 book ai didi

c# - ASP.NET Core Route Tag Helper 使用 Route?

转载 作者:行者123 更新时间:2023-11-30 15:57:48 25 4
gpt4 key购买 nike

我对 asp-route-* 标签助手的工作原理有点困惑。我的理解是它有点绑定(bind)到我设置的路由。例如

 routes.MapRoute(
name: null,
template: "{category}/Page{page:int}",
defaults: new { controller = "Product", action = "List" }
);

这里我将我的路线映射如下:/Category/PageNumber 用于 Controller “产品”中的操作“列表”

下面的代码会在点击时跟随之前的路线

<a class="btn btn-block 
@(cat == ViewBag.SelectedCategory ? "btn-primary" : "btn-default")"
asp-controller="Product"
asp-action="List"
asp-route-category="@cat"
asp-route-page="1">@cat</a>

所以我的理解是“asp-route-category”会在我的routeMap模板中搜索“{category}”,然后“asp-route-page”会在routeMap中搜索“{page}”模板?

关于 MS 的文档有点令人困惑或只是抽象,有人可以用更好的方式确认或解释这一点吗?

最佳答案

使用 conventional routing 时,正如您所做的那样,controlleraction 参数是必需的,并且映射到您的 Controller 和操作名称。

所以如果你想路由到 Controller Product 中的 Action ListCategory 和 Page 参数,您的路由应该如下所示:

routes.MapRoute(
name: null,
template: "{controller}/{action}/{category}/Page{page:int}",
defaults: new { controller = "Product", action = "List" }
);

更新:

Tag Helpers 中的 asp-route 属性您正在使用的,将提供路由值的参数。

所以基本上,asp-route-MyParameter 将添加 MyParameter 以路由具有指定值的值。

More Information here .

关于c# - ASP.NET Core Route Tag Helper 使用 Route?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44567265/

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