WebGrid.table不会出现/生成html

时间:2017-05-19 13:01:07

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

问题: 我正在基于另一个现有修改来编写对现有应用程序的修改。在原始中,使用WebGrid基于输入数据生成表。我试图创建一个表,但使用稍微不同的方法。但是出于某种原因,对于相同的数据,我的代码不会生成表格(因为我在页面代码中甚至没有<table></table>。 的代码:

 @{
                List<WebGridColumn> columns = new List<WebGridColumn>();
                // id column
                WebGridColumn idColumn = new WebGridColumn();
                idColumn.ColumnName = "ID";
                idColumn.Style = "";
                idColumn.Format = @<text><span>@item.ID</span></text>;
                columns.Add(idColumn);

                grid.Table(tableStyle: "span12",
                    rowStyle: "",
                    columns: columns,
                    displayHeader: true,
                    htmlAttributes: new { id = "tableId", style = "margin-bottom: 15px;" }
                    );
  }

我尝试了什么: 我尝试阅读文档并查找其他示例,但几乎所有示例都是一次定义整个表格,表格描述中包含所有列描述,所以我想知道这是否是导致问题的地方

1 个答案:

答案 0 :(得分:0)

Welp,似乎问题在于grid.table命令位于&#39; @ {}&#39;之间。它应该在外面,然后用@grid.table单独调用。不知道为什么,但它的确有效。更正后的代码:

@{
            List<WebGridColumn> columns = new List<WebGridColumn>();
            // id column
            WebGridColumn idColumn = new WebGridColumn();
            idColumn.ColumnName = "ID";
            idColumn.Style = "";
            idColumn.Format = @<text><span>@item.ID</span></text>;
            columns.Add(idColumn);
}
            @grid.Table(tableStyle: "span12",
                rowStyle: "",
                columns: columns,
                displayHeader: true,
                htmlAttributes: new { id = "tableId", style = "margin-bottom: 15px;" }
                );