当我在asp核心中启动控制器时,多个动作匹配

时间:2016-11-06 17:16:12

标签: asp.net .net asp.net-mvc asp.net-core asp.net-core-mvc

我将asp核心项目和模块项目纳入其中

当我开始他时,他们 - error message

Structure of my solution there:

如何让它发挥作用?

2 个答案:

答案 0 :(得分:0)

您不能拥有两个名称相同的控制器,请将其中一个更改为其他名称。

答案 1 :(得分:0)

在一个具有相同名称的控制器中不能有两个Actions方法,因此您需要更改其中一个的名称。但是,如果它们具有不同的HTTP谓词,例如“GET”和“POST”,则可以执行此操作;并且这样做,因为它们是C#方法,它们需要略有不同。例如,他们可以有不同的参数。 例如

    [HttpGet]
    public IActionResult Subscribe()
    {
        return View();
    }

    [HttpPost, ValidateAntiForgeryToken]
    public IActionResult Subscribe(Subscriber _subscriber)
    {
        ViewData["Title"] = "Subscribe";
        _subscriber.Created = DateTime.Now;
        _subscriber.name= "John Doe";
        _subscriber.email= "JohnDoe@email.com";
        _dataContext.Add(_subscriber);
        _dataContext.SaveChanges();

        return RedirectToAction("Index", "Home");
    }

那应该可以解决问题。