2009-08-21 13 views
1

私は現在、このようになりますスライダコントロールを持っている:それは作品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> 

、およびスライダは0から10までの大多数の変更を移動します!

これで、スライダーのラベル(lblTestSlider)を変更して、数値ではなく、0から10(10種類の異なるテキスト値)の異なるテキストを表示するようにしました。これどうやってするの?

答えて

1

次は醜い実装である、私は誰かがより良いものを見つけることを願って:

<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> 

とコードビハインド:

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; 
    } 
} 
関連する問題