MVC WebGrid 如何更新查询字符串
本文关键字:更新 查询 字符串 WebGrid 何更新 MVC | 更新日期: 2023-09-27 18:34:05
当您在MVC的WebGrid上启用分页和排序时,它会自动在查询字符串中附加排序和页面参数。它是如何做到的? 我了解它如何为页面 n 创建链接,但是如果读取查询字符串以了解要生成的页面,该怎么办?
真正让我感到困惑的是,在控制器中,我不必指定页面和排序参数,但它们无论如何都可以工作。这是什么巫术?
万一我不够清楚,
这是网格视图定义
@{ var grid = new WebGrid(Model.Customers, rowsPerPage: 25, canPage: true }); }
下面是生成的查询字符串:
/Customer?sort=Notes&sortdir=ASC
和我的客户索引控制器
//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
}
}