在此页面的初始加载中,我的模板列在asp数据网格中显示正常。 当我单击强制回发的任何控件时,数据网格会重新加载,并隐藏模板列。 html中没有设置可见属性。没有代码更改代码隐藏中列的可见属性。
我尝试将列的可见性硬编码为true,并且该属性在代码隐藏中读取为true,但该列仍然被隐藏。
当试图隐藏/显示数据网格中的其他列时,我无法通过代码隐藏更改它们。
有关导致此列自动隐藏的原因或为何无法有效更改代码隐藏或html中的visible属性的任何想法?
<asp:DataGrid ID="dg" runat="server" AllowSorting="True" AutoGenerateColumns="False" CssClass="datagridPWQ">
<Columns>
<asp:BoundColumn DataField="ID" HeaderText="ID" />
<asp:TemplateColumn HeaderText="Add" >
<ItemTemplate>
<asp:Button ID="btnAdd" runat="server" Text="Add" CommandName="Add"
CssClass="buttonQ" CommandArgument='<%# DataBinder.Eval(Container.DataItem, "ID")%>' />
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
旁注:我曾考虑使用ButtonColumn,但我仍然想知道为什么这不起作用。我记得几个月前看到过类似的错误,但我不记得它是如何解决的。