【发布时间】:2020-12-03 10:14:30
【问题描述】:
我正在开发一个 Asp.Net Core 3.1 MVC 项目,并希望更改 url 中的一些控制器和操作名称。 几乎所有答案都与 .net core API 或 mvc(没有 .net core)有关,但我想在 Asp.Net Core Mvc 应用程序中进行。
例如,控制器:
public class ProductCategoriesController : Controller
{
private readonly DBContext _context;
public async Task<IActionResult> Details(int? id)
{
// Some Codes ...
}
}
我想要做的是,当我将操作称为“详细信息”时,网址将类似于 (http://domain/product-category/power-tools),其中“电动工具”是类别之一,但作为在 Asp.Net Core MVC 中常见的是 (http://domain/ProductCategories/Details/1)。
我尝试更改控制器前缀名称和操作名称,但它不起作用。 我还尝试在启动时定义新的路由端点,如下所示,但都不起作用。
endpoints.MapControllerRoute(
name: "category",
pattern: "product-category/{*title}",
defaults: new { controller = "ProductCategories", action = "Details" });
是否可以在不使用 Api 控制器的情况下更改操作名称和控制器名称?我怎么做?谢谢
【问题讨论】:
标签: c# asp.net-core model-view-controller