我正在使用Mvc 6中的區域並嘗試路由到每個特定區域。 例如,我有這樣的:Mvc 6 taghelper asp-action route not working
我的控制器看起來裝飾有區域及路由屬性,像這樣:
[Authorize]
[Area("Test")]
[Route("[area]/[controller]")]
public class TestController : Controller
然後,我有兩個HTTPGET像下面定義的方法:
public IActionResult Index()
{
var model = new TestViewModel();
return View(model);
}
public IActionResult Create()
{
var model = new TestViewModel();
return View(model);
}
最後,我的表單看起來像這樣:
<form asp-route-area="Test" asp-controller="Test" asp-action="Create" asp-antiforgery="false" method="get">
<input type="submit" value="Generate test"/>
</form>
當我嘗試p ost形式拋出以下內容:
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創建不處理,它只呈現測試/測試(區域/控制器)。
我也試圖用[Route("Create")]
和[HttpGet("Create")]
來裝飾我的方法,結果沒有。
我錯過了一些很明顯的東西嗎?
支持? –