2014-02-21 160 views
0

我有以下代码:隐藏/显示项目点击的ImageButton

 <asp:TemplateField HeaderText="Aprovar/Reprovar" ItemStyle-HorizontalAlign="Center"> 
      <ItemTemplate> 
       <asp:ImageButton ID="imbAprovar" runat="server" 
        ImageUrl="~/images/Png0803.png" 
        OnClientClick="return confirm('Confirma aprovação do chamado?');" 
        CommandName="APROVAR" 
        CommandArgument='<%# Eval("nIDChamado") %>' 
        Height="30" Width="30" 
        Visible="true" /> 
       <asp:ImageButton ID="imbReprovar" runat="server" 
        ImageUrl="~/images/Png0798.png" 
        OnClientClick="return confirm('Confirma não aprovação do chamado?');" 
        CommandName="REPROVAR" 
        CommandArgument='<%# Eval("nIDChamado") %>' 
        Height="30" Width="30" 
        Visible="true"/> 
       <ajaxToolkit:Rating ID="AvaliacaoChamado" runat="server" 
        BehaviorID= '<%# Eval("nIDChamado") %>' 
        CurrentRating="3" 
        MaxRating="5" 
        StarCssClass="ratingStar" 
        WaitingStarCssClass="savedRatingStar" 
        FilledStarCssClass="filledRatingStar" 
        EmptyStarCssClass="emptyRatingStar" 
        OnChanged="AvaliacaoChamado_Changed" 
        Visible="false" /> 
      </ItemTemplate> 

我需要做的是隐藏imbAprovar和imbReprovar同时显示AvaliacaoChamado当我点击imbAprovar或imbReprovar。我知道我需要改变Visible属性,但我不知道怎么在这里做的事:

protected void GridPesquisar_RowCommand(object sender, GridViewCommandEventArgs e) 
{ 
    //Change visiblility 
} 

这是非常广泛和合理的预先存在的代码,我没有太多的自由变化而不影响所有的系统,而且我仍然是ASP.NET和C#的初学者。

回答

1

为了让你可以DP中排:

GridViewRow gvr = (GridViewRow)((Control)e.CommandSource).NamingContainer; 

,然后找到按钮,改变他们的知名度:

Control buttonAprovar = gvr.FindControl("imbAprovar"); 
if (buttonAprovar != null) 
{ 
    buttonAprovar.Visible = false; 
} 

与同为第二个按钮。

+0

就在现场的人,非常感谢! :d –