标签:asp-net-core net-core asp-net-core-mvc asp-net c
我对asp-route- *标签助手的工作方式感到困惑.我了解的是,它与我设置的路由有关.例如.
routes.MapRoute(
name: null,
template: "{category}/Page{page:int}",
defaults: new { controller = "Product", action = "List" }
);
在这里,我将路线映射如下:/ Category / PageNumber用于控制器“产品”中的动作“列表”
单击下面的代码后,将遵循之前的maproute
<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时,您需要做的是控制器和操作参数,它们映射到您的控制器和操作名称.
因此,如果您想使用以下命令路由到控制器产品中的“动作列表”
Category和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添加到具有指定值的路由值.
标签:asp-net-core,net-core,asp-net-core-mvc,asp-net,c 来源: https://codeday.me/bug/20191111/2018659.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。