图像按钮在page_load期间不会隐藏

时间:2013-07-15 03:14:52

标签: c# asp.net

我的网格视图上有一个图像按钮

  <Columns>
 <asp:TemplateField HeaderText="Stop">
                <ItemTemplate>
                    <asp:ImageButton ID="StopImageButton" runat="server" OnClick="StopImageButton_Click"
                        ImageUrl="~/Stop.jpg" Width="25" Height="25" />
                </ItemTemplate>
            </asp:TemplateField>
 </Columns>

我在page_load上有这段代码

    protected void Page_Load(object sender, EventArgs e)
    {
        ImageButton i = new ImageButton();
        i.ID = "StopImageButton";
        i.Visible = false;
    }

我想要做的是,隐藏我的“停止按钮”&#39;在页面加载。但是我怎么能这样做呢?它仍然不会隐藏?

2 个答案:

答案 0 :(得分:0)

原因是您在页面加载时创建新图像按钮,并在该新图像按钮中设置可见false。

您可以做的是,找到gridview上的图像按钮并设置可见的false。

更新网格视图的RowDataBound事件,如下所示。

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
    if(e.Row.RowType == DataControlRowType.DataRow)
    {
        ImageButton ImgBtn= e.Row.FindControl("StopImageButton") as ImageButton;
        if(ImgBtn !=null)
            ImgBtn.Visible = false;
    }
}

答案 1 :(得分:0)

正如 Damith 所说,你正在创建一个新的按钮实例。所以你正在做的是创建一个新按钮并隐藏它。但隐藏已经创建的按钮是错误的。

试试这个:

protected void Page_Load(object sender, EventArgs e)
{
    this.StopImageButton.Visible = false;
}