禁用asp图像按钮

时间:2015-04-21 14:11:36

标签: c# asp.net

我正在尝试通过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'。

3 个答案:

答案 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 ...

它会正常工作