有谁知道是否可以在 MVC 中使用区分大小写的路由。
我想如下指出不同的文章。
例子
http://my.ie/uRl --> 文档 1
http://my.ie/Url --> 文档 2
很想听听这是否可以做到。
有谁知道是否可以在 MVC 中使用区分大小写的路由。
我想如下指出不同的文章。
例子
http://my.ie/uRl --> 文档 1
http://my.ie/Url --> 文档 2
很想听听这是否可以做到。
鉴于 MVC 是一个 IIS 平台(并且 Windows 本身是不敏感的),我不知道你是否会有很多运气。但是,如果您使用它来提供文件,您可以创建一个后备路由,然后将其更进一步(并适当地解析它)。例如
routes.MapRoute(
"File_Fetch",
"{filename}",
new { controller = "File", action = "Fetch", filename = UrlParameter.Optional },
new { filename = @"^.+$" }
);
public class FileController : Controller
{
public ActionResult Fetch(String filename)
{
// /Url -> filename = "Url"
// /uRl -> filename = "uRl"
return File(...);
}
}
因此,现在您可以询问传入参数并根据需要提供它,而不是尝试使用路由来区分 cASE。
您可以像这样使用路由器约束和正则表达式:
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
new { id = @"\d+", action=@"[A-Z]+" } //Parameter constraints
);
因此,只需考虑您想要在正则表达式方面应用的约束