2016-05-12 12 views
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]の属性を(または別の方法で)保持している間にこれを修正するにはどうすればよいですか?

+0

あなたの 'Startup.cs'にルーティング登録と共に' Index() 'アクションを表示してください。 – haim770

答えて

0

私は最終的にそれが(haim770コメント@助けた)が見つかりました:

私はすべての私のコントローラ&アクションにルート属性を追加し、今では動作します。

関連する問題