2
我寧願有一個簡單的控制器只有2個這樣的方法。AmbiguousActionException:在MVC核心中匹配的多個動作
public class ColorsController : Controller
{
// GET: /<controller>/
public IActionResult Index()
{
return View();
}
public IActionResult Index(int id)
{
return View();
}
}
我在不同的命名空間中也有一個同名的api。我試着實現存儲庫模式,並突然得到AmbigousActionException。我的Web api包含在WebUI.controllers.api命名空間中。 的Web API是:
namespace ePress.WebUI.Controllers.api
{
[Route("api/[controller]")]
public class ColorsController : Controller
{
private IColorRepository _repository;
public ColorsController(IColorRepository colorRepository)
{
_repository = colorRepository;
}
// GET: api/values
[HttpGet]
public IActionResult Get()
{
return Ok(_repository.Get());
}
// GET api/values/5
[HttpGet("{id}")]
public IActionResult Get(int id)
{
var color = _repository.Get(id);
if (color != null)
return Ok(color);
return NotFound("Color not found");
}
}
這是啓動類的路由配置:
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
即使更名主控制器來Colors2Controller,我還是得到了同樣的錯誤。 任何幫助將不勝感激。