2009-08-21 8 views
1

J'ai actuellement un contrôle de curseur qui ressemble à ceci:Comment ajouter différentes valeurs à un contrôle Ajax Slider?

<cc1:SliderExtender ID="sliderTest" runat="server" Enabled="True" 
TargetControlID="txtBoxTest" BoundControlID="lblTestSlider" 
Decimals="0" Maximum="10" Minimum="0" 
EnableHandleAnimation="true"> 
</cc1:SliderExtender> 

<asp:TextBox ID="txtBoxTest" runat="server"></asp:TextBox> 
<asp:Label ID="lblTestSlider" runat="server"></asp:Label> 

Il fonctionne, et que le curseur se déplace le nombre passe de 0 à 10. Grande! Ce que je veux maintenant faire est changer l'étiquette de curseur (lblTestSlider) pour montrer le texte différent pour chaque valeur de 0 à 10 (10 valeurs de texte différentes) plutôt que le nombre. Comment puis-je faire ceci?

Répondre

1

Ce qui suit est une implémentation laide, j'espère que quelqu'un peut trouver quelque chose de mieux:

<asp:UpdatePanel runat="server"> 
    <ContentTemplate> 
     <ajax:SliderExtender ID="sliderTest" runat="server" 
      Enabled="True" 
      Decimals="0" Maximum="10" Minimum="0" 
      EnableHandleAnimation="true" 
      RaiseChangeOnlyOnMouseUp="true" 
      TargetControlID="txtBoxTest" /> 

     <asp:TextBox ID="txtBoxTest" runat="server" 
      OnTextChanged="txtBoxTest_TextChanged" 
      AutoPostBack="true" /> 
     <asp:Literal ID="litDisplay" runat="server" /> 
    </ContentTemplate> 
</asp:UpdatePanel> 

Et le code-behind:

protected void txtBoxTest_TextChanged(object sender, EventArgs e) 
{ 
    switch (int.Parse(((TextBox)sender).Text)) 
    { 
     case 0: 
     case 1: 
     case 2: 
     case 3: 
     case 4: litDisplay.Text = "Less than 5"; break; 
     case 5: 
     case 6: 
     case 7: 
     case 8: 
     case 9: 
     case 10: litDisplay.Text = "Greater than 5"; break; 
    } 
} 
Questions connexes