0

私はMvc 6のエリアを使用していて、それぞれの特定のエリアにルーティングしようとしています。 たとえば、私は、この持っている:私のコントローラはそうのように、エリアおよびルート属性で飾られているように見えMvc 6 taghelper aspアクションルートが動作しない

public IActionResult Index() 
    { 
     var model = new TestViewModel(); 
     return View(model); 
    } 

    public IActionResult Create() 
    { 
     var model = new TestViewModel(); 
     return View(model); 
    } 

その後
[Authorize] 
[Area("Test")] 
[Route("[area]/[controller]")] 
public class TestController : Controller 

、私は以下のように定義された2つのHTTPGETのメソッドを持っていますが

最後に私のフォームは次のようになります:

<form asp-route-area="Test" asp-controller="Test" asp-action="Create" asp-antiforgery="false" method="get"> 
     <input type="submit" value="Generate test"/> 
    </form> 

私が次のフォームを投げる:

AmbiguousActionException:複数のアクションが一致しました。次 アクションルートデータに一致し、すべての制約が満たされていた:

Areas.Test.Controllers.TestController.Index

あなたはそれと思うだろう

をAreas.Test.Controllers.TestController.Create私はASP-アクションでそれを定義するとき、私の作成方法に特異的に結合するが、私は、フォームのレンダリングされたマークアップをチェックするときには、このようになります:

<form method="get" action="/Test/Test"> 
     <input type="submit" value="Generate test"> 
</form> 

私の私をthod Createは処理されず、Test/Test(領域/コントローラ)のみレンダリングされます。

私はまた、[Route("Create")][HttpGet("Create")]と私のメソッドを飾ることを試みました。

私は何かここに明白に欠けていますか?

+0

でサポートされていますか? –

答えて

1

RC1を使用している場合、タグヘルパーの領域は使用できません。タグヘルパーで

領域は、フレームワークのバージョンを使用しているRC2link to issue

+0

私はRC1を使用していました、ありがとう:) –

関連する問題