![](/img/trans.png)
[英]How to get the URL of the Action without parameters in ASP.NET MVC
[英]How to get all active parameters in ASP.NET MVC (2)
我想知道是否有一種方法可以創建一個ActionLink
或類似的方法,該方法僅更改實際查詢的幾個參數,並使所有其他參數保持不變。 例如,如果我使用的網址為http://example.com/Posts/Index?Page=5&OrderBy=Name&OrderDesc=True
我只想更改Page
或OrderBy
參數,並保持所有其他參數不變,即使那些我還不知道(例如,當我想添加Search
參數或類似的東西時)。
我當前操作的標題如下:
public ActionResult Index(int? Page, string OrderBy, bool? Desc)
我只對這個控制器“吃掉”的值感興趣。 但是,我希望當我擴展此操作(例如,使用string Search
參數)時,鏈接的工作方式應與以前相同。
這是我已經做過的:
RouteValueDictionary
並用RouteData.Values
所有內容填充它
Page
)都丟失了 HttpContext.Request.QueryString
所有內容添加到上一詞典
HttpContext.Request.Params
ActionLink
的RouteValueDictionary
中 所以問題是:
RVD
,具有所有傳遞到控制器並由其使用的數據? Params
對象中過濾掉“垃圾”數據? 編輯:檢查RouteData.DataTokens
變量,但是它通常為空,並且不包含我需要的所有內容。 它似乎只包含某處路由所需的參數,而不是所有參數。
看看RouteData.DataTokens
。
RouteData.DataTokens @ MSDN文檔 :
獲取傳遞給路由處理程序但在ASP.NET路由確定路由是否與請求匹配時不使用的自定義值的集合。
HTH,
查爾斯
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.