【问题标题】:Image button hide and un-hide图片按钮隐藏和取消隐藏
【发布时间】:2013-07-15 03:41:55
【问题描述】:

我的网格视图中有一个名为 StopImageButton 和 StartImageButton 的图像按钮

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

我也有这段代码在页面加载时隐藏StopImageButton

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

}

protected void StopImageButton_Click(object sender, ImageClickEventArgs e)
{

}

protected void StartImageButton_Click(object sender, ImageClickEventArgs e)
{

}

我想要做的是,单击StartImageButton 后,它将被隐藏,而StopImageButton 现在将可见?救命!

【问题讨论】:

    标签: c# asp.net


    【解决方案1】:
    protected void StartImageButton_Click(object sender, GridViewRowEventArgs e)
    {
        //hide StartImageButton
        ImageButton StartBtn = e.Row.FindControl("StartImageButton") as ImageButton;
        StartBtn.Visible = false;
    
        //UnHide StopImageButton
        ImageButton StopBtn = e.Row.FindControl("StopImageButton") as ImageButton;
        StopBtn.Visible = true;
    }
    

    【讨论】:

    • Row.FindControl 不适用于 ImageClickEventArgs
    • 我的错!你需要通过GridViewRowEventArgs我已经编辑了
    【解决方案2】:

    试试这个

        protected void StartImageButton_Click(object sender, ImageClickEventArgs e)
        {
            ImageButton StartImageButton = (ImageButton)sender;
            StartImageButton.Visible = false;
            GridViewRow gr = (GridViewRow)StartImageButton.Parent.Parent;
            ImageButton StopImageButton = (ImageButton)gr.FindControl("StopImageButton");
            StopImageButton.Visible = true;
        }
    

    【讨论】:

    • StartImageButton.Visible = true; // should be false.
    猜你喜欢
    • 2013-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-19
    • 1970-01-01
    相关资源
    最近更新 更多