【发布时间】:2020-01-04 14:56:26
【问题描述】:
我想用我的类别创建特定的路线。我有一个类别,例如“笔记本电脑、手机、相机、音响系统等”。
我为显示类别详细信息创建了名为 CategoryDetail 的页面。我想为每个类别创建带有约定的路线。 例如;
mysite.com/laptops
mysite.com/sound-systems
我写了以下代码。
services.AddMvc()
.AddRazorPagesOptions(options =>
{
var categories = new[] { "laptops", "sound-systems" };
foreach (var category in categories)
{
options.Conventions.AddPageRoute("/CategoryDetail", $"/{category}");
}
})
.SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
此代码为每个类别创建路线,但我没有在 CategoryDetail 页面中访问类别名称。
CategoryDetailPage.cs
public class CategoryDetailModel : PageModel
{
public void OnGet()
{
string category = ???;
}
}
【问题讨论】:
-
您在标题中谈论在路由配置中使用数据库值。我在您的代码中没有看到它。您是否添加了类别数组以简化代码?你如何调用你的数据库?
-
对不起,我的类别来自数据库(我确实为此编写了数据库值),但在这段代码中,我确实编写为模拟(var categories = ...)。我的问题与路线创建有关...
标签: asp.net-core routing razor-pages