Reputation: 191
I wanted to set my starting page to /Members/Index.
When I was using MVC, I configured it as following:
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Members}/{action=Index}/{id?}");
});
But now I'm trying new Razor Pages approach, and now Members is folder and Index is Razor Page. How to set this page in folder as starting one?
I can add Index page in root directory and make redirect there, but I was looking for something cleaner.
Upvotes: 19
Views: 18695
Reputation: 1520
I am using this way
services.AddMvc()
.AddRazorPagesOptions(options =>
{
options.AllowAreas = true;
options.Conventions.AddAreaPageRoute("Home", "/Index", "");
});
My folder structure is:
- Area |_ Home |_ Pages |_ Index.cshtml |_ //other areas
Upvotes: 2
Reputation: 161
Add the following to your ConfigurationServices function in Startup.cs
services.AddMvc().AddRazorPagesOptions(options =>
{
options.Conventions.AddPageRoute("/Members/Index", "");
});
If you have another index page you'll probably need to delete or rename it.
Upvotes: 14
Reputation: 4205
For testing purposes you can change the start page by going to the Properties window for the web project and select the Debug tab. On the 'Launch browser' line enter the starting path
Upvotes: 14
Reputation: 404
Try following code at AppStart->RouteConfig.cs
:
routes.MapRoute(
name: "Default",
url: "{controller}/{action}",
defaults: new { controller = "Members", action = "Index"}
);
Upvotes: -1