首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ASP.NET核心路由标签助手使用路由?

ASP.NET核心路由标签助手使用路由?
EN

Stack Overflow用户
提问于 2017-06-15 12:15:10
回答 1查看 1.4K关注 0票数 3

我对asp-路由-*标记助手的工作方式感到困惑。据我所知,它与我设置的路由有一定的联系。例如。

代码语言:javascript
复制
 routes.MapRoute(
    name: null,
    template: "{category}/Page{page:int}",
    defaults: new { controller = "Product", action = "List" }
 );

在这里,我将我的路径映射为:/follow/PageNumber,用于Controller "Product“中的操作"List”

当单击以下代码时,将遵循前面的映射路径

代码语言:javascript
复制
<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-路由-类别”将在我的routeMap模板中搜索“{ search }”,然后“asp-路由-页”将在routeMap模板中搜索"{page}“?

MS上的文档很容易混淆,或者只是为了抽象,有人能以更好的方式确认或解释这一点吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-15 13:04:20

在使用传统路由时,正如您所做的那样,controlleraction参数是必需的,并映射到控制器和操作名称。

因此,如果您想使用类别和页面参数路由到Controller Product中的Action Product,您的路由应该如下所示:

代码语言:javascript
复制
routes.MapRoute(
    name: null,
    template: "{controller}/{action}/{category}/Page{page:int}",
    defaults: new { controller = "Product", action = "List" }
 );

更新:

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

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

这里有更多的信息

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44567265

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档