簡體   English   中英

在ASP.NET MVC中保留參數

[英]Retaining parameters in ASP.NET MVC

許多MVC框架(例如PHP的Zend框架)都有一種通過URL提供基本狀態管理的方式。 基本原理是這樣的:

任何未明確修改或未設置的參數都將復制到每個URL中

例如,考慮帶有分頁的列表。 您將獲得作為URL參數傳遞的順序,方向和頁碼。 您可能還會有幾個過濾器。 更改過濾器的值不應更改排序順序。

默認情況下,ASP.net MVC似乎會記住您的控制器和操作:

<%: Html.RouteLink("Next", "MyRoute", new {id = next.ItemId}) %>

這不會重新設置您的操作或控制器。 但是,它似乎確實忘記了所有其他參數。 ActionLink也是如此。

在URL中較早設置的參數似乎也會保留。

有沒有辦法使它保留更多?

例如,這似乎並不影響正在生成的任何鏈接:

RouteData.Values["showDeleted"] = true;

記住分頁和排序參數的最簡單解決方案是讓客戶端工具(如jqGrid)為您進行管理。

ActionLink不會記住參數,因為那不是工作。 它旨在提供到另一個頁面的鏈接(完全獨立於您當前所在的頁面)。

根據您共享的鏈接,您似乎想在轉到另一個頁面然后返回列表時記住過濾參數。 在我的應用程序中,我實現了彈出模式來處理命令,而jqGrid保留在后台。 另一種解決方案是將過濾參數保留在會話中,但是如果用戶打開同一頁面的兩個副本,則可能導致混亂的行為。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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