多年來,我已經做了相當多的ASP.NET API編程,但對於.NET Core和RazorPages來說,這是非常新的。我似乎無法讓路由正常工作。使用ASPNET核心2.0的路由RazorPages
例如,我有一個索引頁。 OnGet正常工作,如預期的那樣,它返回Razor定義的頁面。現在,我想補充的另一種方法,我們稱之爲測試索引頁代碼隱藏,像這樣:
[Route("Test")]
public void Test()
{
Console.WriteLine("Test");
}
現在對於我的生活,我不能訪問這條路線,既不是本地主機/索引/測試或本地主機/測試或者我能想到的任何其他錯綜複雜的路線。這是設計嗎? localhost和localhost/index都返回默認的get方法。
這引起了我相當多的地方,我想在一個漂亮的URL中使用的所有者和產品ID顯示產品的詳細信息,像這樣的麻煩:
products/{ownerid}/{productid}
正如上面提到的,我不能圖到這個自定義漂亮的URL。如果我理解正確,映射到{ownerid}/{productid}路由的函數應該位於索引頁代碼隱藏中以便找到,或者我誤會了嗎?
謝謝你的幫助。
那是因爲你使用的剃刀的頁面,這是一次失敗的嘗試在重塑webforms。使用完整的MVC套件,你會好得多(Razor頁面只支持單個獲取和單個Post方法) –
另請注意,在Razor Pages中,控制器字是未知的。 「控制器」就是視圖本身,所以如果你使用的是「IndexController」,那麼你做錯了什麼。 –
控制器部分是一個錯字,我的意思是頁面。我明白你的意思。他們談論瞭如此多的MVC背景,它從未跨過我的思維路線可能不被支持。感謝您解決這個問題。 – JasonX