0

我找不到如何在 MVC4 中创建“假”子文件夹。

我想要一个像

AREA/CONTROLLERNAME/FAKEFOLDER/ACTION/

AREA/CONTROLLERNAME/ACTION

有可能吗?有什么建议么?谢谢!

4

2 回答 2

1

您是否尝试过使用路由?例如假设您有一个Admin区域:

public override void RegisterArea(AreaRegistrationContext context)
{
    context.MapRoute(
        "Admin_default",
        "Admin/{controller}/FAKEFOLDER/{action}/{id}",
        new { action = "Index", id = UrlParameter.Optional }
    );
}

现在,当您请求时,将执行 are内的/admin/home/fakefolder/index操作IndexHomeControllerAdmin

于 2013-01-22T21:58:55.687 回答
0

您可以MapRoute在路由中添加一个需要额外参数的参数(下例中的 fakefolder)。然后,路由像往常一样发生,控制器的操作为页面提供服务。例子:

routes.MapRoute(
          name: "FakeFolder",
          url: "{controller}/{fakefolder}/{action}",
          defaults: new { controller = "home", action = "index", fakefolder = UrlParameter.Optional}
      );

请注意,通过此路由,您可以使用任何“文件夹名称”,因为它只是一个占位符。

Url 示例: myController/SomeFakeFolder/someAction将执行中的someAction操作myController

于 2013-01-22T21:59:17.853 回答