如何在 mvc core 3.1 中的操作方法名称中允许多个连字符?
How to allow multiple Hyphen in action method name in mvc core 3.1?
我正在开发一个应用程序,其中要求以下列格式显示 url 以用于 seo。
Initial format = www.abc.com/Home/OnlineShoppingInUk
Required format = www.abc.com/online-shopping-in-uk
我在 start.cs 中进行了以下更改以隐藏 url 中的控制器名称,并从 url
中删除了控制器名称
endpoints.MapControllerRoute(
name: "onlineShoppingInUk",
pattern: "onlineShoppingInUk",
defaults: new { controller = "Home", action = "onlineShoppingInUk" });
and in home controller
[Route("onlineShoppingInUk")]
public IActionResult OnlineShoppingInUk()
{
....
}
但当 url 包含连字符时,上述方法不起作用。我尝试了以下操作,但从未调用在线购物操作方法,而是调用了索引方法。
endpoints.MapControllerRoute(
name: "online-shopping-in-uk",
pattern: "online-shopping-in-uk",
defaults: new { controller = "Home", action = "online-shopping-in-uk" });
在家庭控制器中
[Route("online-shopping-in-uk")]
public IActionResult OnlineShoppingInUk()
{
....
}
如何在家庭控制器中调用包含连字符的操作方法?
请使用以下代码更新您的路由配置。
endpoints.MapControllerRoute(
name: "OnlineShoppingInUK",
pattern: "/online-shopping-in-uk",
defaults: new { controller = "Home", action = "OnlineShoppingInUK" });
从您的方法中删除路线:
public IActionResult OnlineShoppingInUK()
{
....
}
然后试试这个:
www.abc.com/online-shopping-in-uk
另外,在你调用它的地方使用
asp-route="OnlineShoppingInUK"
我正在开发一个应用程序,其中要求以下列格式显示 url 以用于 seo。
Initial format = www.abc.com/Home/OnlineShoppingInUk
Required format = www.abc.com/online-shopping-in-uk
我在 start.cs 中进行了以下更改以隐藏 url 中的控制器名称,并从 url
中删除了控制器名称 endpoints.MapControllerRoute(
name: "onlineShoppingInUk",
pattern: "onlineShoppingInUk",
defaults: new { controller = "Home", action = "onlineShoppingInUk" });
and in home controller
[Route("onlineShoppingInUk")]
public IActionResult OnlineShoppingInUk()
{
....
}
但当 url 包含连字符时,上述方法不起作用。我尝试了以下操作,但从未调用在线购物操作方法,而是调用了索引方法。
endpoints.MapControllerRoute(
name: "online-shopping-in-uk",
pattern: "online-shopping-in-uk",
defaults: new { controller = "Home", action = "online-shopping-in-uk" });
在家庭控制器中
[Route("online-shopping-in-uk")]
public IActionResult OnlineShoppingInUk()
{
....
}
如何在家庭控制器中调用包含连字符的操作方法?
请使用以下代码更新您的路由配置。
endpoints.MapControllerRoute(
name: "OnlineShoppingInUK",
pattern: "/online-shopping-in-uk",
defaults: new { controller = "Home", action = "OnlineShoppingInUK" });
从您的方法中删除路线:
public IActionResult OnlineShoppingInUK()
{
....
}
然后试试这个:
www.abc.com/online-shopping-in-uk
另外,在你调用它的地方使用
asp-route="OnlineShoppingInUK"