这是我的html标记,在div标记中将可见性添加到false会隐藏实际数据本身,但只留下一个空白列。我试图访问div标签(是的,我将runat="server"
标签添加到html)并尝试访问它,就像hideme.Visible = true;
那样抛出了编译错误
当前上下文中不存在。
我应该更改/修改哪些内容以确保此列完全隐藏在我的网格中?
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" ShowFooter="true"
onrowdatabound="GridView1_RowDataBound" onrowcreated="GridView1_RowCreated">
<Columns>
<asp:BoundField DataField="abcd" HeaderText="abcd" />
<asp:BoundField DataField="def" HeaderText="def" />
<asp:BoundField DataField="hij" HeaderText="hij" />
<asp:BoundField DataField="xyz" HeaderText="xyz" />
<asp:BoundField DataField="eee" HeaderText="eee" />
<asp:BoundField DataField="era" HeaderText="era" />
<asp:BoundField DataField="nai" HeaderText="nai" />
<asp:BoundField DataField="fac" HeaderText="fac" />
<asp:TemplateField>
<ItemTemplate>
<div runat="server" style="visibility:hidden" id="hideme">
<asp:Label ID="lbllunch" runat="server" Text='<%# Eval("hij") %>' />
<asp:Label ID="lbllunchoverage" runat="server" Text='<%# Eval("xyz") %>' />
<asp:Label ID="lbleee" runat="server" Text='<%# Eval("eee") %>' />
<asp:Label ID="lblera" runat="server" Text='<%# Eval("era") %>' />
<asp:Label ID="lblnai" runat="server" Text='<%# Eval("nai") %>' />
<asp:Label ID="lblfac" runat="server" Text='<%# Eval("fac") %>' />
</div>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
修改
我将.Visible
命令添加到我的页面加载事件(我总是在页面上隐藏任何内容),如下所示:
protected void Page_Load(object sender, EventArgs e)
{
hideme.Visible = false;
/More here
}
答案 0 :(得分:1)
由于if env == 'dev':
from a import Real, Fake
Real = Fake
位于GridView TemplateField中,因此您无法使用hideme
方法访问它,但您可以使用Page_Load
方法访问它,如下所示
GridView1_RowDataBound
答案 1 :(得分:0)
您可以在gridview的DataBound事件中隐藏该列。
-1
答案 2 :(得分:0)
如果要隐藏模板字段列,可以将其添加到标记中。是的,如果您保留style="visibility:hidden"
,它将仅显示空白列,因为项目模板仍然作为列存在。
我的建议是,如果不需要列dnt添加标记。