我正在尝试通过C#中的代码隐藏此表中的图像按钮(以便我可以在操作后隐藏它)。
<asp:UpdatePanel runat="server" ID="upEmpListContainer" UpdateMode="Conditional"
OnPreRender="upEmpListContainer_PreRender" OnInit="upEmpListContainer_Oninit">
<ContentTemplate>
<asp:ListView ID="lvEmpList" OnItemDataBound="lvEmpList_ItemDataBound" OnDataBound="lvEmpList_DataBound"
OnLayoutCreated="lvEmpList_LayoutCreated" runat="server" OnPreRender="lvEmpList_PreRender">
<LayoutTemplate>
<table class="formData_tb" cellspacing="0" style="margin: 0px; width: 100%;">
<tr>
<th colspan="9" class="currentManagerLabel" style="text-align: center">
<span>Currently displaying
<asp:Label ID="lblManager" runat="server" />
employees </span>
<asp:ImageButton ID="DrillUp" AlternateText="Move up in reporting heirarchy" runat="server"
CommandName="DrillDown" ImageUrl="~/images/icoDoubleArrowUp.gif" OnCommand="butDrillDown_Click" />
</th>
</tr>
</table>
</LayoutTemplate>
</asp:ListView>
</ContentTemplate>
</asp:UpdatePanel>
我似乎无法通过其ID访问它。我试过DrillUp.Enabled = false;
,但Visual Studio说它无法解析符号'DrillUp'。
答案 0 :(得分:1)
您的图片按钮位于布局模板中,您可以直接访问它。
试试这个
ImageButton b = (ImageButton)lvEmpList.FindControl("DrillUp");
b.Visible = false;
答案 1 :(得分:0)
在您的代码隐藏方法lvEmpList_ItemDataBound中,您需要使用以下内容:
((e.Item.FindControl("DrillUp")) as ImageButton).Visible = false;
此外,您应该添加一个检查,仅对DataItem项目执行此操作:
if (e.Item.ItemType == ListViewItemType.DataItem)
{
((e.Item.FindControl("DrillUp")) as ImageButton).Visible = false;
}
答案 2 :(得分:0)
尝试: 1 - 从aspx中删除该图像按钮 1 - 清洁解决方案 2-再次手动编写asp:imagebutton ...
它会正常工作