我有两个页面Home.cshtml和Job.cshtml
在启动文件中,我对此进行管理
services.AddRazorPages().AddRazorPagesOptions(options =>
{
options.Conventions.AddPageRoute("/Home", "/{handler?}");
});
services.AddRazorPages().AddRazorPagesOptions(options =>
{
options.Conventions.AddPageRoute("/Job", "{*url}");
});
我想为Home.cshtml打开此URL
http://localhost:44004/au/hospital-jobs-in-India
第二个URL是我要在Job.cshtml中打开它
http://localhost:44004/best-jobs-in-India/Page-3/NewsData
注意:现在我的问题是,对于这两个网址,它都击中了Job.cshtml 但我想打分开的页面。
答案 0 :(得分:0)
您应该了解Razor页面中的friendly routes是什么。作为您当前的路由模板,/au
和/au/
将映射到Home
页面,它的应用程序会捕获任何未映射到物理文件的URL,而/au/hospital-jobs-in-India
将映射到Job
页面,因为该路线与第一个友好路线不匹配,但与{*url}
路线模板匹配。您应该根据自己的要求修改路由,例如,更改第一个路由模板,例如/au/{handler?}
。
此外,您不需要多次注册AddRazorPages
,可以在一个AddPageRoute
中直接添加多个AddRazorPagesOptions
。