Ich habe eher einen einfachen Controller mit nur 2 Methoden wie diese.AmbiguousActionException: Mehrere Aktionen in MVC Core
public class ColorsController : Controller
{
// GET: /<controller>/
public IActionResult Index()
{
return View();
}
public IActionResult Index(int id)
{
return View();
}
}
Ich habe auch eine API mit dem gleichen Namen in einem anderen Namensraum. Ich habe versucht, das Repository-Muster zu implementieren und bekomme plötzlich AmbigousActionException. Meine Web-API ist im Namespace WebUI.controllers.api enthalten. Web api ist:
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");
}
}
Dies ist die Route Konfiguration in der Klasse Startup:
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
geändert Sogar den Namen der Hauptsteuerung zu Colors2Controller, und ich habe immer noch die gleichen Fehler. Jede Hilfe wird geschätzt.