Asp: o rótulo não é mostrado quando o visível está definido como verdadeiro?

Eu tenho um formulário da web simples, com algumas caixas de listagem e um botão de pesquisa. Quando o botão é clicado, ele retorna um DataSet. Se o conjunto de dados contiver registros, defino o rótulo asp: que é inicialmente definido como falso como verdadeiro, mas isso não está acontecendo. Se o conjunto de dados tiver registros e a propriedade visible estiver definida como true, o rótulo ainda não será exibid

Eu também tentei colocar o rótulo e alguns outros controles em uma tabela html e definir um atributo runat = "server" na tabela e alterar a visibilidade, mas isso também não é mostrad

Aqui está o código aspx:

<table>
    <tr>
        <td>
        <asp:Label ID="lblSortBy" runat="server" Text="Sort By:" Visible="false">   
        </asp:Label>
        <asp:DropDownList
                        ID="ddlSortBy" 
                        runat="server" 
                        AutoPostBack="True" 
                        OnSelectedIndexChanged="ddlSortBy_SelectedIndexChanged">
        <asp:ListItem Value="Gross">Gross</asp:ListItem>
        <asp:ListItem Value="Population">Population</asp:ListItem>
        </asp:DropDownList>
        </td>
    </tr>
</table>

qui está o código simplificado quando um botão é clicado:

public void GetData()
{
    DataView dv = GetReportData().DefaultView;

    if(dv.ToTable().Rows.Count > 0)
     {
        lblSortBy.Visible = true;
     }
     else
     {
        lblSortBy.Visible = false;
     }
  }

Tenho alguns painéis de atualização em torno de alguns ListBoxes e um GridView, mas não o Label e o Dropdown. Isso causaria um problema?

Fiz um teste, defini um rótulo que estava em um painel de atualização como falso se registros fossem encontrados e o rótulo desaparecesse, portanto funcionará se estiver em um painel de atualizaçã

questionAnswers(6)

yourAnswerToTheQuestion