我在Startup.cs中定义了以下代码:
services.AddMvc().AddRazorPagesOptions(options =>
{
options.Conventions.AddPageRoute("/ListVehicles", "/vehicle-list");
});
我如何只允许使用网址"车辆列表"而不是只在网址中键入cshtml文件名ListVehicles?我尝试过options.Conventions.Clear()但是没有用。
答案 0 :(得分:1)
您可以使用自定义IPageRouteModelConvention
来清除Selectors
中的PageRouteModel
列表:
services.AddMvc().AddRazorPagesOptions(options =>
{
options.Conventions.AddPageRouteModelConvention("/ListVehicles", model =>
{
model.Selectors.Clear();
});
options.Conventions.AddPageRoute("/ListVehicles", "vehicle-list");
});
现在向http://localhost/ListVehicles发出请求将导致404错误,而对http://localhost/vehicle-list的请求将返回ListVehicles.cshtml
页。