Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用asp.core html标记生成指向具有路由属性的操作的链接_C#_Asp.net Core - Fatal编程技术网

C# 使用asp.core html标记生成指向具有路由属性的操作的链接

C# 使用asp.core html标记生成指向具有路由属性的操作的链接,c#,asp.net-core,C#,Asp.net Core,我试图理解这些新的ASP.CORE标记,但不知道如何生成带有custome route的操作链接 以下是我的行动: [Route("[controller]/icatalog/{cartID:int:min(1)}",Name ="CatalogeRoute")] [ActionName("Catalog")] public IActionResult PublicCatatalog(int cartID) { return View("Cart")

我试图理解这些新的ASP.CORE标记,但不知道如何生成带有custome route的操作链接

以下是我的行动:

    [Route("[controller]/icatalog/{cartID:int:min(1)}",Name ="CatalogeRoute")]
    [ActionName("Catalog")]
    public IActionResult PublicCatatalog(int cartID)
    {   
    return View("Cart")
    }
“旧”方式的泛化工作良好

工作:

<a href="@Url.Action("Catalog","Home",new {basketID=1 })">Test2</a>
<a class="nav-link" href="@Url.Link("CatalogeRoute",new {card=1 })"> Test3</a>

但是ASP.CORE标记不起作用:

  <a asp-action="Catalog" asp-controller="Home" asp-route-id="1">Test1</a>
Test1

您需要使用与动作参数名称匹配的属性。 因此,在这种情况下:

<a asp-action="Catalog" asp-controller="Home" asp-route-cartID="1">Test1</a>
Test1

试试
asp-route-cartID
。是的,现在它可以工作了。谢谢