首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ASP.NET MVC 5 webgrid

ASP.NET MVC 5 webgrid
EN

Stack Overflow用户
提问于 2018-08-13 17:01:44
回答 1查看 970关注 0票数 1

这是我的观点。它有一个表格和一个网络网格。

代码语言:javascript
运行
复制
@model IEnumerable<List.Models.cList>

@{
    ViewBag.Title = "List";
    var grid = new WebGrid(source: Model, canPage: true, rowsPerPage: 20);
    grid.Pager(WebGridPagerModes.All); }

<h2>List</h2>

这是我的表格:

代码语言:javascript
运行
复制
<table class="table">
    <tr>
        <th>
            @Html.DisplayNameFor(model => model.ID)
        </th>
        <th>
            @Html.DisplayNameFor(model => model.Name)
        </th>
        <th></th>
    </tr>

    @foreach (var item in Model)
    {
        <tr>
            <td>
                @Html.DisplayFor(modelItem => item.ID)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.Name)
            </td>
            <td>
                @Html.ActionLink("Podrobno", "Artikel_Podrobno", new { parID = item.ID, parName = item.Name })
            </td>
        </tr>
    }
</table>

这是我的webgrid:

代码语言:javascript
运行
复制
<style type="text/css">
    .webgrid-table {
        font-family: Verdana;
        font-size: 1em;
        width: auto;
        display: table;
        border-collapse: separate;
        border: solid 1px black;
        background-color: white;
    }

        .webgrid-table td, th {
            border: solid 1px #98BF21;
            padding: 3px 7px 2px;
        }

    .webgrid-header {
        background-color: azure;
        color: aqua;
        padding-bottom: 4px;
        padding-top: 5px;
        text-align: left;
    }

    .webgrid-footer {
    }

    .webgrid-row-style {
        padding: 3px 7px 2px;
    }

    .webgrid-alternating-row {
        background-color: #EAF2D3;
        padding: 3px 7px 2px;
    }
</style>

<div id="content">
    @grid.GetHtml(
    tableStyle: "webgrid-table",
    headerStyle: "webgrid-header",
    footerStyle: "webgrid-footer",
    alternatingRowStyle: "webgrid-alternating-row",
    rowStyle: "webgrid-row-style",
    columns: grid.Columns(
    grid.Column(columnName: "ID", header: "ID", format:@<text>@Html.ActionLink("ID", "Analitics", new { parID = item.ID, parName = item.Name })</text>),
    grid.Column(columnName: "Name")
    )
                   )
</div>

现在,我要做的就是在webgrid中显示列的名称,就像在我的表中一样(@Html.DisplayFor(modelItem => item.ID))。但是因为它需要一个字符串,所以我不能这样做。所以这个(grid.Column(columnName:"ID",header: item.ID,...)不起作用。

有人能告诉我怎么做吗?

EN

回答 1

Stack Overflow用户

发布于 2018-08-13 18:44:37

动态标头

代码语言:javascript
运行
复制
columns: grid.Columns(
        grid.Column("ID",null,format:@<text>@{
                                                   string ID= item.ID;
                                                   @Html.DisplayFor(m => ID);
                                            } </text>),
        grid.Column("Name",null,format:@<text>@{
                                                   string Name= item.Name;
                                                   @Html.DisplayFor(m => Name);
                                            } </text>),
       grid.Column(null,null,
format:@<text>
@{
    string userIdlink = item.ID;
    @Html.ActionLink(userIdlink, "Analitics", new { parID = item.ID, parName = item.Name });
}</text>)
        )

使用动作链接

代码语言:javascript
运行
复制
 columns: grid.Columns(
        grid.Column("ID","ID"),
        grid.Column("Name","Name"),
       grid.Column(null,null,
format:@<text>
@{
    string userIdlink = item.ID;
    @Html.ActionLink(userIdlink, "Analitics", new { parID = item.ID, parName = item.Name });
}</text>)
        )

您可以执行以下操作来获得与上表相同的UI样式。

代码语言:javascript
运行
复制
 columns: grid.Columns(
        grid.Column("ID","ID"),
        grid.Column("Name","Name"),
        grid.Column("ID",null, format:@<a href="@Url.Action("Analitics","ControllerName",new { parID = item.ID, parName = item.Name })">@item.ID</a>)
        )
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51818704

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档