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