簡體   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