![](/img/trans.png)
[英]Unable to make ActionLink or RouteLink generate the correct URL
[英]ActionLink/RouteLink based on URL not Controller
我有一個使用以下結構的控制器:
.com/Object/375
但是,我在訪問特殊管理員權限時也可以使用以下URL
.com/Admin/Object/375
無論您是否在Admin部分中,我都使用相同的用戶控件,但是它們都指向同一個Controller Object 。 我需要鏈接來維護該URL結構,而不是試圖將Admin用戶踢回Object控制器。 我目前正在使用路由名稱方法,其中以下是我的路由名稱(在global.asax中):
"Admin/-Object"
"Object/-Object"
"Object-Object"
這些路由名稱捕獲以下路由:
Admin/Object, Admin/Object/555, Object, Object/323
然后在路由鏈接中使用以下內容
Html.RouteLink(id, Request.Url.Segments[1] + "-Object", new { id = id })
這很好用,但是有一種奇怪的氣味-還有其他想法嗎?
需要說明的是:我需要根據當前URL結構(使用或不使用Admin)正確創建URL,並且路由將指向正確的控制器(兩個URL都相同),並且將特定於admin的內容注入到僅在“管理”部分(基於URL)中顯示。
總結一下,使用ViewBag可能是一個更好的主意,因為使用URL段可能會導致意外錯誤,尤其是在您移動控件或視圖時。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.