簡體   English   中英

基於URL的ActionLink / RouteLink不是控制器

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM