Когда вы говорите it's visibility is set to hidden
, вы ссылаетесь на свойство видимости CSS? Если это так, попробуйте использовать display:none
вместо этого, и это должно исправить проблему с пробелами, которая вам не нравится.
Если это не сработает (думаю, так и будет), просто установите для свойства Visible метки значение false в коде, когда вы запускаете событие, которое появляется в диалоговом окне. Я считаю, что ASP.NET не отображает элементы, когда свойство Visible имеет значение false, поэтому это определенно должно работать.
Что я имею в виду, это:
annoyingLabel.Visisble=False
Вы можете переключать свойство Visible соответственно в зависимости от того, нужно ли отображать сообщение или нет.
Надеюсь, это поможет.
ОБНОВЛЕНИЕ:
How about this?
Dim showNextTime As Boolean = False
If feature.Selected Then
'' your code here
Else
showNextTime =True
End If
FeatureError.Visible = showNextTime
Поскольку вы перебираете все элементы и проверяете, выбраны ли они или нет, все, что вам нужно сделать, - установить флаг, который станет истинным, как только один из элементов не будет выбран (то есть будет хотя бы один элемент). осталось добавить).
Если нет элементов для просмотра, то по умолчанию FeatureError.Visible должен иметь значение false.
Это работает для вас?
ОБНОВЛЕНИЕ 2
Dim showNextTime As Boolean = False
If feature.Selected Then
'' your code here
Else
showNextTime =True
End If
' Add this condition to make it visible if Items.Count==0
FeatureError.Visible = (showNextTime Or cbxAddFeature.Items.Count==0)
ОБНОВЛЕНИЕ 3 Теперь попробуйте это:
Добавьте событие OnCLick в FeatureButton следующим образом:
<asp:LinkButton OnClick="FeatureButton_Click" ID="FeatureButton" runat="server">Feature</asp:LinkButton>
А на вашем коде Сзади:
Sub FeatureButton_Click(sender As Object, e As EventArgs)
FeatureError.Visible = (cbxAddFeature.Items.Count=0)
End Sub
Мы сделаем эту работу.
ОБНОВЛЕНИЕ 4:
Измените свой OnSelected код на это (я не знаю, почему вы сравнивали текст):
Protected Sub dsNewFeatures_Selected(ByVal sender As Object, ByVal e As
System.Web.UI.WebControls.SqlDataSourceStatusEventArgs) Handles dsNewFeatures.Selected
If e.AffectedRows=0 Then
FeatureError.Visible = True
FeatureError.Text= "All features are currently associated to this product."
Else
FeatureError.Text= ""
FeatureError.Visible = False
End If
End Sub