0

我正在使用 Visual Studio 2017 中的 C# 和 Razor 开发一个 ASP.NET(针对 .NET Framework 4.7)网站。我正在使用带有MVC设置的ASP.NET Web 应用程序(.NET Framework)模板。

未经修改,该模板提供了一个具有以下页面树的网站模板(从 Web 访问者的角度来看):

  • / (控制器Home,动作Index
    • /Home/About (控制器Home,动作About
    • /Home/Contact (控制器Home,动作Contact

为了满足 SEO 要求,我需要将 URL 中的“Home”设置为“Site-Name”,包括一个破折号。结果应该是这样的(从网络访问者看到):

  • / (控制器Home,动作Index
    • /Site-Name/About (控制器Home,动作About
    • /Site-Name/Contact (控制器Home,动作Contact

从我的实验中,我只能设法拥有一个自定义操作名称,但无法让控制器名称起作用。将Home控制器重命名为Site-Name将不起作用,因为破折号不是有效的类名字符。

如何为默认控制器实现所需的 URL 方案?

PS:一般如何添加带有破折号的控制器(URL 部分)?

4

0 回答 0