MVC3 WebGrid - @ Url.Action使用图像按钮

时间:2012-05-15 09:23:14

标签: asp.net-mvc-3

我遇到了一个问题,实际上我还没有解决。出于某些原因,我有一个请求,用更加直观的设计替换Html.ActionLink中使用的文本,使用图像作为WebGrid内部的按钮,用于修改,复制,发布和删除等用户操作。 阅读我尝试了许多方法,但没有一个让我进入最后阶段:

@{
    var grid = new WebGrid(Model, new List<string>(), canPage: true, rowsPerPage: 5);
    grid.Pager(WebGridPagerModes.NextPrevious);
        @grid.GetHtml(tableStyle: "webGrid",
        htmlAttributes: new { id = "DataTable" },
        headerStyle: "header",
        alternatingRowStyle: "alt",
        columns:
        grid.Columns(
        grid.Column("Description", header: "Description"),
        grid.Column("DateCreation", header: "Creation Date"),
        grid.Column("CompanyOwner", header: "Company"),
        grid.Column("Owner", header: "User"),
        grid.Column("Status", header: "Status"),
        grid.Column("Action", header: "Action", 
                          format: (item) => @Url.Action("publish", 
                                                        "PublishItem",  
                                                        new { id = item.ID })))
        );
    } 

要做到这一点,我首先使用linq创建的模型,然后添加Action列,我想用它来放置我的按钮。如何将图像作为按钮放置,就像在普通表中一样:

<a href="@Url.Action("PublishPill", new { id = item.ID })">
<img src="../../Images/world_32px.png", alt="Edit" title="Publish" border="0" /></a>  

1 个答案:

答案 0 :(得分:1)

您可以使用

grid.Column(header: "Contraseña", format: @<text><a href="@Url.Action("ChangePassword", "Home", new { id = item.Identification })" ><img src="../../Content/images/password.png" alt="" style="border:none;" /></a></text>, style: "colOperation")