asp.net web forms gridview中不是autodisplay列的数据注释?

问题描述 投票:0回答:2

我目前正在使用asp.net web forms 4.5。

我正在使用gridview和gridview有一个很好的功能,称为自动生成列,我正在尝试使用它,但有一些我不想显示的列。

我知道我可以将autogenerate列设置为false并为自己调用列,但我在想是否有一个功能,如模型上的数据注释,(我使用数据库优先,顺便说一下)并阻止gridview从显示。

我找到的最接近的帖子是data annotations hide property/field,但我不认为这适用于我的情况。

先感谢您!

c# asp.net gridview data-annotations
2个回答
0
投票

在WebForms中,没有像MVC那样的简单标记来隐藏带有数据注释的列。如果要使用autogenerate列,可以使用列的索引隐藏数据绑定事件中的列:

protected void gridView_DataBound(object sender, GridViewRowEventArgs e) 
{
    e.Row.Cells[index].Visible = false;
}

我建议不要使用自动生成的列,而是明确指定gridview中的每一列。这样,如果您的数据源将来发生更改,则GUI中不会出现任何意外行为。


0
投票

如果您已经创建了带有数据注释的模型,并且您已经为其指定了一个不会显示在gridview中的名称,请确保在Gridview上设置ItemType并将其指向您的模型。它会工作得很好。

© www.soinside.com 2019 - 2024. All rights reserved.