【问题标题】:How does MVC WebGrid update the query stringMVC WebGrid如何更新查询字符串
【发布时间】:2012-05-14 20:39:34
【问题描述】:

当您在 MVC 的 WebGrid 上启用分页和排序时,它会自动在查询字符串中附加排序和页面参数。它是如何做到的?我了解它如何为第 n 页创建链接,但是如果 read 查询字符串如何知道要生成哪个页面?

真正让我困惑的是,在控制器中,我不必指定页面和排序参数,但它们仍然可以工作。这是什么巫术?

如果我不够清楚,

这里是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() 
{
    ...
}

【问题讨论】:

    标签: c# asp.net-mvc gridview query-string


    【解决方案1】:

    长话短说,它只是从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
            } 
        }
    

    【讨论】:

      猜你喜欢
      • 2012-04-04
      • 1970-01-01
      • 1970-01-01
      • 2020-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多