5
タグでasp-controllerとasp-actionを使用して、コントローラメソッドから呼び出されたビューで現在のもの以外のアクションがある場合[Route]
生成されたリンクには、空のhref
属性があります。ビューでタグヘルパーとasp.netのRoute属性との間の異常な動作5 MVC6
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>
としてのコントローラで
最初のリンクが正しく生成されていないことがわかります。 currenctアクション以外のアクションをターゲットとするすべてのリンクは、空の
href
タグで生成されます。私はShowSectionアクションの[ルート]属性削除すると :あなたが見ることができるように
<a href="/Forum">Index</a>
<a href="/Forum/ShowSection?sectionId=1">Général</a>
を、リンクが正しく生成されます。
[Route]
の属性を(または別の方法で)保持している間にこれを修正するにはどうすればよいですか?
あなたの 'Startup.cs'にルーティング登録と共に' Index() 'アクションを表示してください。 – haim770