如何使用ASP.Net MVC3在webgrid中隐藏隐藏字段的列?

ker*_*ney 4 webgrid hide razor asp.net-mvc-3

如何隐藏应从视图中隐藏的列.我通过隐藏对象来处理这个问题,但是该列仍然在UI中显示为一个瘦的列,行中没有任何内容.有没有办法阻止该项目被绘制?

grid.Column(null, null, format: @<input type="hidden" name="RevisionId" value="@item.LatestRevisionId"/>)
Run Code Online (Sandbox Code Playgroud)

谢谢.

Dar*_*rov 6

WebGrid助手允许您使用该style属性将CSS类应用于各个列.不幸的是,虽然这将允许您隐藏该tbody部分内的列,但您无法将不同的样式应用于列标题.您可以将相同的样式应用于所有列,这使得它非常无用.所以一种可能性就是使用CSS:

table th:first-child, table td:first-child {
    display: none;
}
Run Code Online (Sandbox Code Playgroud)

这假设您要隐藏第一列,并且客户端浏览器支持:first-child伪选择器,这可能不是旧浏览器的情况.

因此,如果您需要支持旧版浏览器,可以使用jQuery将隐藏样式应用于第一列的标题和行,或者直接隐藏它们:

$(function () {
    $('table th:first-child, table td:first-child').hide();
});
Run Code Online (Sandbox Code Playgroud)

如果你想拥有更多的控制权,我会建议你查看MvcContrib GridTelerik Grid.