如何隐藏Asp Repeater中的特定列?在这种情况下我想要隐藏POwner!
<ItemTemplate>
<tr>
<td>
<%#Eval("Priority") %>
</td>
<td>
<%#Eval("ProjectName") %>
</td>
<td>
<asp:Label ID="Label1" runat="server" Text='<%# Eval("POwner") %>'></asp:Label>
</tr>
</ItemTemplate>
在后面的代码中添加它会产生错误:s
public void Repeater1_ItemDatabound(Object Sender, RepeaterItemEventArgs e)
{
Repeater a =(Repeater)e.Item.FindControl("Label1");
a.Visible = false;
}
答案 0 :(得分:0)
Label1
是Label
控制而不是Repeater
,这就是您收到错误的原因
您还需要添加if
条件,这样您才能获得项目的Label1
而不是页眉或页脚。
试试这个
if (e.Item.ItemType == ListItemType.Item ||
e.Item.ItemType == ListItemType.AlternatingItem)
{
Label label = (Label)e.Item.FindControl("Label1");
label.Visible = false;
}
答案 1 :(得分:0)
你应该将Label1转换为Label而不是转发器试试这个:
Label a =(Label)e.Item.FindControl("Label1");
a.Visible = false;
答案 2 :(得分:0)
也许您可以尝试在项目模板中使用以下内容:
<tr>
<td runat="server" visible='<%# expression %'>
......
</td>
<td>
....
</tr>
或使用ListView控件而不是Repeater