MsNichols
MsNichols

Reputation: 1133

ASPX Page Response.Redirect to MVC View

Is it possible to Response.Redirect in aspx that returns a view from MVC?

I have an login.aspx page that i need upon successful login to redirect to a view in ~/Views/Home/index.cshtml is this possible? I've tried to following but the url couldnt be resolved.

tried:

  1. Response.Redirect("~/Views/Home/Index.cshtml");

  2. Response.Redirect("Home");

The controller is "HomeController" and the view is "Index.cshtml" any help with how to call a controller and view or atleast just the url would help.

Upvotes: 2

Views: 27068

Answers (6)

Hemang Padia
Hemang Padia

Reputation: 1

var page = HttpContext.Current.Handler as Page;
Response.Redirect(page.GetRouteUrl("Default",
    new { Controller = "Nameofcontroller", Action = "Nameofaction" }), false);

Upvotes: -1

Aminur Rahman
Aminur Rahman

Reputation: 410

Try This

Response.Redirect("~/Home/Index");

Upvotes: 1

MikeSmithDev
MikeSmithDev

Reputation: 15797

Here is how I redirect from .aspx to an MVC view:

var page = HttpContext.Current.Handler as Page;
Response.Redirect(page.GetRouteUrl("yourRouteNameOrDefault", 
    new { Controller="Home", Action="Index"}), false);

Keeps you from hard-coding in the actual path and instead uses your routing and also allows you to build in routeParameters.

Upvotes: 4

Scott Selby
Scott Selby

Reputation: 9580

try this:

return RedirectToAction("Index");

assuming that this is in the same controller , if not:

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

in the MVC framework you don't redirect to views directly , you redirect to Actions, then there me be some logic in there , and based on the logic from the Action it will choose a view and fill out a view model if necessary

Upvotes: 1

Dimitar Dimitrov
Dimitar Dimitrov

Reputation: 15158

How about Response.Redirect("/Home/Index"); - that is of course presuming that you have a HomeController with an Index action that returns the view you're looking for (by convention it's going to be a view having the same name as the action, unless you specify otherwise).

Upvotes: 7

DinoMyte
DinoMyte

Reputation: 8868

Try this :

Response.Redirect(Url.Action("Index", "Home"));

Upvotes: 0

Related Questions