web-dev-qa-db-fra.com

Comment rediriger vers Index depuis un autre contrôleur?

J'ai essayé de trouver un moyen de rediriger vers une vue Index à partir d'un autre contrôleur.

public ActionResult Index()
{                
     ApplicationController viewModel = new ApplicationController();
     return RedirectToAction("Index", viewModel);
}

C'est ce que j'ai essayé maintenant. Maintenant, le code que j'ai reçu a un ActionLink qui renvoie à la page dont j'ai besoin pour Redirect aussi.

@Html.ActionLink("Bally Applications","../Application")
117
cjohnson2136

Utilisez les surcharges qui prennent aussi le nom du contrôleur ...

return RedirectToAction("Index", "MyController");

et

@Html.ActionLink("Link Name","Index", "MyController", null, null)
248
musefan

essayer:

_public ActionResult Index() {
    return RedirectToAction("actionName");
    // or
    return RedirectToAction("actionName", "controllerName");
    // or
    return RedirectToAction("actionName", "controllerName", new {/* routeValues, for example: */ id = 5 });
}
_

et dans _.cshtml_ voir:

_@Html.ActionLink("linkText","actionName")
_

OR:

_@Html.ActionLink("linkText","actionName","controllerName")
_

OR:

_@Html.ActionLink("linkText", "actionName", "controllerName", 
    new { /* routeValues forexample: id = 6 or leave blank or use null */ }, 
    new { /* htmlAttributes forexample: @class = "my-class" or leave blank or use null */ })
_

Notice L'utilisation de null dans l'expression finale n'est pas recommandée et il est préférable d'utiliser un blanc _new {}_ au lieu de null

26
javad amiry

Vous pouvez utiliser le code suivant:

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

Voir RedirectToAction

15
Wouter de Kort

Vous pouvez utiliser la méthode des surcharges RedirectToAction(string actionName, string controllerName);

Exemple:

RedirectToAction(nameof(HomeController.Index), "Home");
1
A. Lipnitskiy

Vous pouvez utiliser la redirection locale. Les codes suivants sautent sur la page Index de HomeController:

public class SharedController : Controller
    {
        // GET: /<controller>/
        public IActionResult _Layout(string btnLogout)
        {
            if (btnLogout != null)
            {
                return LocalRedirect("~/Index");
            }

            return View();
        }
}
1
Hasan Tuna Oruç