【问题标题】:Can i use two webgrids in asp.net mvc我可以在 asp.net mvc 中使用两个 webgrids
【发布时间】:2015-07-06 09:59:01
【问题描述】:

我点击了这个链接http://www.codeproject.com/Tips/615776/WebGrid-in-ASP-NET-MVC 这对单个 webgrid 很好,但是如果我在同一页面中创建两个具有不同列数的 webgrid,我会遇到错误如何解决这个问题

@{
    var grid = new WebGrid(Model, canPage: true, rowsPerPage: 5, 
    selectionFieldName: "selectedRow",ajaxUpdateContainerId: "gridContent");
        grid.Pager(WebGridPagerModes.NextPrevious);} 

<div id="gridContent">
    @grid.GetHtml(tableStyle: "webGrid",
            headerStyle: "header",
            alternatingRowStyle: "alt",
            selectedRowStyle: "select",
            columns: grid.Columns(
            grid.Column("Id", format: (item) => item.GetSelectLink(item.Id)),
            grid.Column("Name", format: (item) => item.GetSelectLink(item.Name)),
            grid.Column("Description", "Description", style: "description")
     )) 
</div>

     @{
    var gridsecond = new WebGrid(Model, canPage: true, rowsPerPage: 5,
    selectionFieldName: "selectedRow", ajaxUpdateContainerId: "secondgridContent");
        grid.Pager(WebGridPagerModes.NextPrevious);} 

<div id="secondgridContent">
    @gridsecond.GetHtml(tableStyle: "webGrid",
            headerStyle: "header",
            alternatingRowStyle: "alt",
            selectedRowStyle: "select",
            columns: gridsecond.Columns(
            gridsecond.Column("Id", format: (item) => item.GetSelectLink(item.Id)),
            gridsecond.Column("Name", format: (item) => item.GetSelectLink(item.Name)),
            gridsecond.Column("Description", "Description", style: "description"),
            gridsecond.Column("Quantity", "Quantity")
     )) 
</div>

【问题讨论】:

  • 你遇到了什么错误?
  • 第一个网格的“数量”列不存在
  • 尝试将第二个网格中的grid.Pager(WebGridPagerModes.NextPrevious)改为gridsecond.Pager(WebGridPagerModes.NextPrevious)
  • @Praveen Paulose 一点运气都没有

标签: c# .net asp.net-mvc webgrid


【解决方案1】:

当您在同一页面上有多个 WebGrid 时,您需要为每个 WebGrid 提供唯一的 FieldNamePrefixPageFieldName 值。你可以通过它的构造函数来做到这一点:

var grid1 = new WebGrid(Model1, fieldNamePrefix: "g1", pageFieldName: "p1");
var grid2 = new WebGrid(Model2, fieldNamePrefix: "g2", pageFieldName: "p2");

【讨论】:

  • 我google了好几次,但你是唯一的,冠军作品
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-01
  • 2019-10-28
  • 2016-11-30
  • 2011-05-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多