2014-02-21 153 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 –