3

How to change nopcommerce default action?

I create new action in HomeController, and want to be default page.

I change:

routes.MapRoute(
    "",
    "{controller}/{action}/{id}", // URL with parameters
    new { controller = "Home", action = "Index", id = UrlParameter.Optional },
    new[] { "Nop.Web.Controllers" }
);

To:

routes.MapRoute(
    "", 
    "{controller}/{action}/{id}", // URL with parameters
    new { controller = "Home", action = "NewAction", id = UrlParameter.Optional },
    new[] { "Nop.Web.Controllers" }
);

But nothing has changed.

Nikolay Kostov
  • 16,433
  • 23
  • 85
  • 123
Hamed Rashno
  • 314
  • 1
  • 2
  • 9

2 Answers2

0

When you navigate to /Home/Index, MVC parses route as follows:

  • Controller: Home
  • Action: Index
  • Id:

If you navigate to /Home:

  • Controller: Home
  • Action: NewAction (from route's default action)
  • Id:

You can make it always activate NewAction like this:

routes.MapRoute(
    "", 
    "{controller}/{id}", // URL with parameters
    new { controller = "Home", action = "NewAction", id = UrlParameter.Optional },
    new[] { "Nop.Web.Controllers" }
);
André Werlang
  • 5,839
  • 1
  • 35
  • 49
0

You can try like this.

//your default action
public ActionResult Index()
{
return RedirectToAction("NewAction"); //Like Response.Redirect() in Asp.Net WebForm
}

//your new action
public ActionResult NewAction()
{
//some code here
  return view();
}
Jatin Gadhiya
  • 1,955
  • 5
  • 23
  • 42