ASP.Net MVC Redirect To A Different View

.Netasp.netasp.net Mvc

.Net Problem Overview


Is it possible to redirect to a different view from a controller?

For example, all my controllers inherit from a custom controller that has a constructor that I want to redirect to different view if certain criteria is not met. Hope that makes sense.

.Net Solutions


Solution 1 - .Net

You can use the RedirectToAction() method, then the action you redirect to can return a View. The easiest way to do this is:

return RedirectToAction("Index", model);

Then in your Index method, return the view you want.

Solution 2 - .Net

 if (true)
 {
   return View();
 }
 else
 {
   return View("another view name");
 }

Solution 3 - .Net

The simplest way is use return View.

return View("ViewName");

Remember, the physical name of the "ViewName" should be something like ViewName.cshtml in your project, if your are using MVC C# / .NET.

Solution 4 - .Net

I am not 100% sure what the conditions are for this, but for me the above didn't work directly, thought it got close. I think it was because I needed "id" for my view by in the model it was called "ObjectID".

I had a model with a variety of pieces of information. I just needed the id.

Before the above I created a new System.Web.Routing.RouteValueDictionary object and added the needed id.

(System.Web.Routing.)RouteValueDictionary RouteInfo = new RouteValueDictionary();
RouteInfo.Add("id", ObjectID);
return RedirectToAction("details", RouteInfo);

(Note: the MVC project in question I didn't create, so I don't know where all the right "fiddly" bits are.)

Solution 5 - .Net

Here's what you can do:

return View("another view name", anotherviewmodel);

Solution 6 - .Net

return RedirectToAction("index");

This is how I use it in the controller and actionresult that needs to be redirected.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionGavinView Question on Stackoverflow
Solution 1 - .NetJohn SheehanView Answer on Stackoverflow
Solution 2 - .NetMahender ReddyView Answer on Stackoverflow
Solution 3 - .NetMaedaView Answer on Stackoverflow
Solution 4 - .NetjeffreypriebeView Answer on Stackoverflow
Solution 5 - .NetAndrewView Answer on Stackoverflow
Solution 6 - .NetScott TomassettiView Answer on Stackoverflow