Это должно работать, если вы правильно произвели разметку, например:
<asp:Label ID="lblYear" runat="server" Text="Year (yyyy):"
AssociatedControlID="txtYear"></asp:Label>
<asp:TextBox ID="txtYear" runat="server" Columns="30" MaxLength="4"></asp:TextBox>
Тогда в следующем коде вы могли бы иметь:
lblYear.visible = False
txtYear.Visible = False
Теперь мое понимание свойства AssociatedControlID метки asp: в основном для целей доступности. Вам не нужно устанавливать значение AssociatedControlID, чтобы все работало, как я показал.