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")
Utilisez les surcharges qui prennent aussi le nom du contrôleur ...
return RedirectToAction("Index", "MyController");
et
@Html.ActionLink("Link Name","Index", "MyController", null, null)
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
Vous pouvez utiliser le code suivant:
return RedirectToAction("Index", "Home");
Voir RedirectToAction
Vous pouvez utiliser la méthode des surcharges RedirectToAction(string actionName, string controllerName);
Exemple:
RedirectToAction(nameof(HomeController.Index), "Home");
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();
}
}