簡體   English   中英

MVC WebGrid如何更新查詢字符串

[英]How does MVC WebGrid update the query string

在MVC的WebGrid上啟用分頁和排序時,它會自動在查詢字符串中附加排序和頁面參數。 它是如何做到的? 我理解它是如何為頁面n創建鏈接的,但如果讀取查詢字符串以了解要生成哪個頁面怎么辦?

讓我感到困惑的是,在控制器中,我不必指定頁面和排序參數,但它們仍然可以工作。 這是什么樣的巫術?

如果我不夠清楚,

這是gridview定義

@{ var grid = new WebGrid(Model.Customers, rowsPerPage: 25, canPage: true }); }

這是生成的查詢字符串:

/Customer?sort=Notes&sortdir=ASC

和我的Customer.Index控制器

//no parameters here. how does WebGrid maintain querystring?
public ActionResult Index() 
{
    ...
}

簡而言之,它只是從HttpContext.Request.QueryString獲取值,這不是那種神奇的事情。

例如,這是訪問排序字段的位置:

    public string SortColumn {
        get { 
            if (!_sortColumnSet) { 
                string sortColumn = QueryString[SortFieldName];
                // blah blah blah
            } 
            // blah blah blah
            return _sortColumn;
        } 
        set {
            // blah blah blah omitted for brevity
        } 
    }

暫無
暫無

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

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