asp-action不生效需要加TagHelpers引用

微软官网MVC分页示例地址:教程:添加排序、筛选和分页 - ASP.NET MVC 和 EF Core | Microsoft Learn

在照着微软官网示例做MVC分页的时候。我加的asp-action(请求路由名称)属性一直不生效,加了asp-controller(请求只想的控制器))也不能产生请求到后端。 而单独查asp-action不生效还很难查出所以然,最后在某个链接的不起眼文字里得到了提示, asp-action 是razor语法的一种增强功能,我个人觉得有点类似于vue的v-mode   v-if之类的语法,  使用asp-action必须要在cshtml页面的顶部引入@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers,比如我的如下图:

asp-action不生效需要加TagHelpers引用_第1张图片

 

加上上述引入代码之后,我重新编译执行对应页面,页面又报错了,错误如下:

{"message":"Cannot override the 'href' attribute for . An with a specified 'href' must not have attributes starting with 'asp-route-' or an 'asp-action', 'asp-controller', 'asp-area', 'asp-route', 'asp-protocol', 'asp-host', 'asp-fragment', 'asp-page' or 'asp-page-handler' attribute.","status":false}

我一开始以为是引入的那段代码有问题,查了半天没查出所以然,最后将上面这段报错翻译了一下,得到如下翻译结果:

{"message":"不能覆盖的'href'属性。指定了'href'的不能有以'asp-route-'开头的属性,也不能有'asp-action'、'asp-controller'、'asp-area'、'asp-route'、'asp-protocol'、'asp-host'、'asp-fragment'、'asp-page'或'asp-page-handler'属性。"

这意思是我的页面里,某些 标记中 href 和asp-action 属性重复了吧,然后我挨个找 标记里有href也有asp-action,那就去掉href。 然后就执行成功了。

你可能感兴趣的:(前端,NETCORE,razor,服务器,前端,.netcore)