asp.net-mvc-3 - WebGrid:在行(tr)中包括信息。例如ID

标签 asp.net-mvc-3 webgrid

我正在使用MVC3中的帮助程序Html.WebGrid,如何包括每个TR标签的数据?

我在列中有数据,我不想显示该列,并且我需要这些数据在表的TR上,然后使用JavaScript。

谢谢。

编辑

public class MyModel
{

public DataTable Data { get; set; }

public IList<dynamic> Results()
{
    var columnas = this.Columnas();
    var result = new List<dynamic>();
    foreach (DataRow row in this.Data.Rows)
    {
        var obj = (IDictionary<string, object>)new ExpandoObject();
        foreach (DataColumn column in columns)
        {
            if (!columna.ColumnName.StartsWith("_"))
            {
                obj.Add(column.ColumnName, row[column.ColumnName]);
            }
        }
        result.Add(obj);
    }

    return result;
}

private IList<DataColumn> Columns()
{
    var columns = new List<DataColumn>();
    foreach (DataColumn column in this.Data.Columns)
    {
        columns.Add(column);
    }

    return columns;
}
}

page.schtml
@model MySite.Model.MyModel

@using System.Data

@{
    ViewBag.Title = "My page";
    Layout = "~/Views/Shared/Layout.cshtml";
}
<h2>Resultados</h2>
@{
    if (Model == null) { 
        <div>
            <div>no results</div>
        </div>
    }
    else {
        <div>
            <div>Rows:  <span>@Model.Data.Rows.Count</span></div>
            @{

        var grid = new WebGrid(source: Model.Results(), rowsPerPage: 10);

        @grid.GetHtml(
                fillEmptyRows: true,
                alternatingRowStyle: "fila-alternativa",
                headerStyle: "encabezado-grid",
                footerStyle: "pie-grid",
                mode: WebGridPagerModes.All,
                firstText: "<< Primera",
                previousText: "< Anterior",
                nextText: "Siguiente >",
                lastText: "Última >>"
            )
        }

        @Html.HiddenFor(model => Model.Filtros.TipoConsultaSiguiente)
    </div>
}
}

最佳答案

您可以在配置网格时为此列设置一个类

@MvcHtmlString.Create(grid.GetHtml(htmlAttributes: new { id = "grid" },
                                         tableStyle: "members_table",
                                         rowStyle: "alt",
                                         mode: WebGridPagerModes.All,
                                         columns: grid.Columns(
                                               grid.Column(columnName: "Id", format: @<text>@item.id</text>, style: "hiddenColumn"), ...

并在hiddenColumn类中设置此列的可见性。

关于asp.net-mvc-3 - WebGrid:在行(tr)中包括信息。例如ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8004960/

相关文章:

jquery - 当 &lt;textarea&gt; 通过 ajax 响应更新时 ckeditor 消失

asp.net-mvc - 使用 WebGrid 或不使用 WebGrid...答案是什么?

asp.net - Infragistics WebHierarchicalDataGrid 无法确定何时选择子行以及如何获取所选的数据

c# - 在 webgrid 中调用 javascript

asp.net-mvc-3 - MVC3 路由问题 - 如何为所有 Controller 方法重用 View ?

asp.net-mvc-3 - 使用javascript代码访问viewbag

asp.net - 从返回的 View 中提取 Div

asp.net-mvc-3 - 格式化 WebGrid 列以包含两条数据

asp.net - 将隐式类型对象转换为查询字符串