【发布时间】:2020-01-19 22:37:20
【问题描述】:
我在 MVC 应用程序中有一个要求,即在所有 URL 中将应用程序根设置为小写,而不将 ID 和查询字符串设置为小写,并且不太确定如何去做。我无法将目录更改为小写,而且我对 IIS 的访问权限有限,因此我希望我能在应用程序中找到一种编程方式来执行此操作。
例如,如果我有一个名为 MYAPP 的应用程序的多个版本,其中有 3 个版本(V1、V2、V3),每个版本都在各自的目录中,分别为我们提供 /MYAPP/V1、/MYAPP/V2 和 /MYAPP/V3。
当 MVC 构造 URL 时,它将使用大写的应用程序根,但我想将其设置为小写,其中
@Html.ActionLink("Edit", "Edit", "Products", new { id = "ABC", Module = "CS" }, null)
会导致
<a href="/myapp/v1/Products/Edit/ABC?Module=CS">Edit</a>
而不是
<a href="/MYAPP/V1/Products/Edit/ABC?Module=CS">Edit</a>
我看过使用
routes.LowercaseUrls = true;
在 RouteConfig.cs 但最终不会给我
<a href="/myapp/v1/products/edit/abc?module=cs">Edit</a>
这不是我想要的...任何建议都非常感谢!
【问题讨论】:
标签: c# iis model-view-controller routing