我有一个ASP.Net MVC应用程序,我需要将一段代码放在名为 web 的子文件夹中。
我希望用户能够只输入“http://www.mywebsite.com/web/mycontroller”并将其默认为索引操作。
但是,我似乎无法弄清楚如何设置我的路由以默认操作。据我所知,它正在尝试使用controller = web ,action = mycontroller 。
我的路线代码如下:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"web", "web/{controller}/{action}",
new { action = "Index" });
}
只要我在网址末尾包含/ index,请求就可以正常运行,但如果我将其排除在外,它似乎不想使用 action =“Index”默认值
我该如何做到这一点?
答案 0 :(得分:0)
按如下方式更改您的代码:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "web",
url: "web/{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
答案 1 :(得分:0)
我最终使用了区域,这解决了我的问题。