這個問題將是兩個問題
我已經通過Microsoft 的檔案使用@page指令更改了路線的值。例如,我已將檔案名更改為. 現在我正在嘗試獲取我定義的新自定義路由的值,因為我想從我的注冊邏輯將用戶發送回該頁面掛起方向,如下所示:Landing.cshtml@page "/"
returnUrl = Request.Form["returnUrl"];
然后
return LocalRedirect(returnUrl);
我正在通過以下輸入從發布到此 PageModel 的 from 傳遞 returnUrl
<input type="hidden" id="returnUrl" name="returnUrl" value='@((string) ViewContext.RouteData.Values["Page"])' />
然而,該值始終是默認值/Landing,而不是我在頁面上定義的自定義值/。
問題 1:如何在不將其硬編碼到表單值本身的情況下發送自定義頁面 url
問題 2:ViewContext.RouteData.Values和之間有什么區別RouteData.Values,它們都有相同的鍵和值。
uj5u.com熱心網友回復:
問題1
您可以像這樣獲取路線的名稱:
// it only returns the name, so you have to add the "/"
var routeName = "/" ViewContext.ActionDescriptor.AttributeRouteInfo.Template;
// @page "/" --> ""
// @page "/foobar" --> "foobar"
問題2
我不確定,但我認為沒有區別。它是同一型別的物件。ViewContext.RouteData是請求的值,而RouteData單獨被稱為根據 Intellisense 的操作的值。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/511727.html
