Как добавить различные значения в элемент управления Ajax Slider? - PullRequest
1 голос
/ 21 августа 2009

У меня есть ползунок, который выглядит следующим образом:

<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 Ответ

1 голос
/ 21 августа 2009

Ниже приведена ужасная реализация, надеюсь, кто-нибудь найдет что-нибудь получше:

<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;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...