私は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")]
と私のメソッドを飾ることを試みました。
私は何かここに明白に欠けていますか?
でサポートされていますか? –