当我在<a>
标记中使用asp-controller和asp-action用于另一个Action而不是当前的Action时,在具有[Route]
属性的Controller Method调用的View中,生成的链接具有空href
属性。
在控制器中:
public class ForumController : Controller
{
[Route("[action]/{sectionId:int}")]
public async Task<IActionResult> ShowSection(int sectionId)
{
//some code
}
}
在视图中
<a asp-controller="Forum" asp-action="Index">Index</a>
<a asp-controller="Forum" asp-action="ShowSection" asp-route-sectionId="@Model.ParentSection.Id">@Model.ParentSection.Name</a>
生成的html:
<a href="">Index</a>
<a href="/ShowSection/1">Général</a>
如您所见,第一个链接未正确生成。所有针对另一个Action而不是当前Action的链接都是使用空href
标记生成的。
当我删除ShowSection操作的[Route]属性时:
<a href="/Forum">Index</a>
<a href="/Forum/ShowSection?sectionId=1">Général</a>
如您所见,链接已正确生成。
如何在保留[Route]
属性(或替代属性)的同时解决此问题?
答案 0 :(得分:0)
我终于找到了它(@ haim770评论帮助):
我为所有控制器添加了一个Route属性&amp;行动,现在它起作用。