繁体   English   中英

如何处理 asp.net 核心 razor 页面中的路由?

[英]how to handle routing in asp.net core razor page?

我有两页 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

注意:现在我的问题是,对于 url,它都命中了 Job.cshtml,但我想点击单独的页面。

您应该了解 Razor 页面中的友好路线是什么。 As your current route template, /au and /au/ will map to Home page it app catches any URL that doesn't map to a physical file, and /au/hospital-jobs-in-India will map to Job page since the route 不匹配第一个友好路由,但匹配{*url}路由模板。 您应该根据您的要求修改路由,例如,更改第一个路由模板,如/au/{handler?}

另外,您不需要多次注册AddRazorPages ,您可以直接在一个AddRazorPagesOptions AddPageRoute

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM