代码之家  ›  专栏  ›  技术社区  ›  Cunners

如何向Ajax滑块控件添加不同的值?

  •  1
  • Cunners  · 技术社区  · 16 年前

    我现在有一个滑块控件,看起来像这样:

    <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 回复  |  直到 16 年前
        1
  •  1
  •   Yuriy Faktorovich    16 年前

    下面是一个丑陋的实现,我希望有人能找到更好的东西:

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