【发布时间】:2019-09-04 18:18:06
【问题描述】:
我正在编写一个新的 Razor Pages 应用程序(这是我第一次使用 Razor 页面而不是 MVC),我到了需要创建链接的地步,而我终其一生都无法弄清楚为什么即使我尝试了我能想到的 ActionLink 方法的参数的每一个变体,它也不起作用。然后,我改用 Anchor Tag Helper 方法和精确的 smae 参数,它工作得很好。 当我搭建自己的观点时,我已经很困惑了,因为代码生成同时使用了 Tag Helpers 和 Html Helpers,正如我的大脑告诉我的那样,你应该真正选择其中一个,并尽可能保持一致。
cshtml文件中的代码如下:
<a asp-page="./DeleteIngredient" asp-route-MenuItemId="@item.MenuItemId" asp-route-IngredientId="@item.IngredientId">Delete</a>
@Html.ActionLink("Delete", "DeleteIngredient", new { MenuItemId = @item.MenuItemId, IngredientId = @item.IngredientId })
@Html.ActionLink("Delete", "./DeleteIngredient", new { MenuItemId = @item.MenuItemId, IngredientId = @item.IngredientId })
标签助手正确生成以下网址:
Html Helpers 生成以下内容:
注意:链接位于带有 URL 的页面上: https://localhost:44308/MenuItems/Details/c469f993-9cac-4adc-bf63-2aba9be249c9
总之,我做错了什么吗?或者这似乎是asp net core Html.ActionLink方法中的一个错误?
【问题讨论】:
标签: c# asp.net-core razor-pages actionlink tag-helpers