перенаправление в область - PullRequest
1 голос
/ 16 мая 2019

Я не могу перенаправить в область, появляется сообщение «Произошло необработанное исключение при обработке запроса. InvalidOperationException: ни один маршрут не соответствует предоставленным значениям». Ни один маршрут не соответствует указанным значениям.

Startup.cs

Я создал эти маршруты:

routes.MapRoute("areaRoute","area:exists}/{controller=Admin}/{action=Index}/{id?}");    

LoginController.cs

public async Task<IActionResult> GravarCadastro(CadastroModel novoUsuario)
{
    RedirectToActionResult redirecionar;
    switch (novoUsuario.perfil)
    {
        case 1:
            //not Working
            redirecionar = RedirectToAction("Index", "Paciente");                  
            break;
        case 2:
            //not Working
            redirecionar = RedirectToAction("Index", "medico");
            break;
        case 3:
            //not Working
            redirecionar = RedirectToAction("Index", "farmacia");
            break;
        case 4:
            //not Working
            redirecionar = RedirectToAction("Index", "laboratorio");
            break;

        default:
           //not Working
            redirecionar = RedirectToAction("Index", "paciente");
            break;
    }

    return redirecionar;
}

PacienteController.cs

Я использую эти атрибуты

[AllowAnonymous] 
[Area("Paciente")]
[Route("Paciente")]
public class PacienteController : Controller
{
    //[Authorize]
    public ActionResult Index()
    {
        return View();
    }
}

в образе

1 Ответ

1 голос
/ 16 мая 2019

Необходимо указать область, но отсутствует перегрузка RedirectToAction, которая принимает его в качестве прямого параметра. Так что вам нужно сделать:

redirecionar = RedirectToAction("Index", "Paciente", new { area = "Paciente" });    

Примечание: называть Контроллер и Область одинаково не рекомендуется. Рассмотрим множественное число Paciente (Pacientas?) Для Района.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...