.net mvc路由贪婪的正则表达式

Wei*_* Ma 1 .net c# regex asp.net-mvc

在我的global.asax.cs文件中.我添加一个条目

       routes.MapRoute(
            "Static text",
            "Static/General/{filePath}",
            new { controller = "Static", Action = "General", filePath = "" },
          //  new { filePath = @"xxxx" } // greedy regular expression
        );
Run Code Online (Sandbox Code Playgroud)

我想要做的是从静态文件中获取内容并插入我的视图页面.如果我的filePath在根目录中,例如1.txt,则此映射可以正常工作.但是如果文件位于某个子目录(如staticfiles/1.txt)中,它将无法工作.因为路由模块会将"staticfiles"视为filePath,并将"1.txt"作为其他参数.我知道我需要做的是在filePath参数上应用一些正则表达式技巧.但我无法弄清楚如何让正则表达式引擎一直读到url的结尾.有人能告诉我应该应用的技巧吗?非常感谢.

Dar*_*rov 5

尝试先放一个星号filePath:

routes.MapRoute(
    "Static text",
    "Static/General/{*filePath}",
    new { controller = "Static", Action = "General", filePath = "" }
);
Run Code Online (Sandbox Code Playgroud)