作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当您在 MVC 的 WebGrid 上启用分页和排序时,它会自动在查询字符串中自动附加排序和分页参数。它是如何做到的?我了解它如何为第 n 页创建链接,但如果读取查询字符串以了解要生成的页面,它会怎样呢?
真正让我困惑的是,在 Controller 中,我不必指定页面和排序参数,但它们仍然有效。这是什么魔法?
如果我不够清楚,
这是gridview的定义
@{ var grid = new WebGrid(Model.Customers, rowsPerPage: 25, canPage: true }); }
这里是生成的查询字符串:
/Customer?sort=Notes&sortdir=ASC
和我的 Customer.Index Controller
//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
}
}
关于c# - MVC WebGrid如何更新查询字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10590684/
我是一名优秀的程序员,十分优秀!