Asp.net MVC3操纵WebGrid Row

时间:2011-10-13 23:47:45

标签: asp.net-mvc-3 webgrid

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

grid.Column("IsValid", "IsValid", format: (item) => (item.IsValid) ? 
    ? Html.Raw("< src='../../Content//' />")
    : Html.Raw("< src='../../' />"), style: "testStyle"),

grid.Column(header: "Delete", format: 
    @<text>
        <a href="@Url.Action("Delete", "TestInfo", new { id = item.id })" onclick="javascript:return ConfirmDelete();">
            <img src="../../Content/images/image.png" alt="" style="border:none;" />
        </a>
    </text>, style: "testStyle")

使用此代码,我的“删除”按钮会出现在Webgrid的每一行上。与第一列一样,当且仅当(item) => (item.IsValid)为真时,我才会尝试使用相同的逻辑item.IsValid来显示删除按钮图像。

你能否建议我如何完成这个

1 个答案:

答案 0 :(得分:3)

我有类似的工作,如果当前记录没有被其他人锁定,用户可以将其编辑为文本框。

 grid.Column("Volume", "Monthly Vol", format: @<text>@if ((bool)TempData["CanEdit"])
                                                     {
                                                          <input type="text" title="@item.Volume" value="@item.Volume" /> 
                                                     }
                                                     else
                                                     {
        @( item.Volume.ToString())} </text>)

如此适用于你的我认为会是

 grid.Column(header: "Delete", format: @<text>@if (item.IsValid)
                                                     {
                                                          <a href="@Url.Action("Delete", "TestInfo", new { id = item.id })" onclick="javascript:return ConfirmDelete();">
        <img src="../../Content/images/image.png" alt="" style="border:none;" />
                                                     }
                                                     else
                                                     {
<span style="display:none"></span>
} </text>)