2012-04-26 87 views
0

我们在页面上使用多个滑块扩展器,并且在其中一些跳过步骤。例如,一个滑块的值为最小值0和最大值10,steps属性设置为10.但是,当您滑动它时,它总是跳过5,所以您从1-4开始,然后跳过5,然后跳过6-10 。所以你永远不能选择5.ASP.NET AJAX滑块跳过步骤

页面上的许多滑块(即使它们具有不同的最小值,最大值和步长值)也会发生同样的情况。

任何想法,我们已经搞砸了?

.aspx的:

<p> 
<span class="helpText">Number Music stream per hour</span> 
<asp:HyperLink ID="lnkMusicStream" runat="server"></asp:HyperLink> 
<span class="maptextimg"> 
    <img class="helpTxtImg" src="~/html/images/buttons/help_icon.png" alt="help" title="<%=getNoOfMusicStreamHelpText() %>" /> 
</span> 
<span class="numbers"> 
    <asp:Label ID="lblMusicIntervals" runat="server" /> 
</span> 
</p> 
<p> 
<span> 
    <asp:TextBox ID="txtMusicStream" runat="server" AutoPostBack="true" /> 
    <span class="size"> 
     <asp:Label ID="lbltxtMusicStream" runat="server" /></span> 
    <ajaxToolkit:SliderExtender ID="txtMusicStream_SliderExtender" runat="server" TargetControlID="txtMusicStream" 
     BehaviorID="txtMusicStream" BoundControlID="lbltxtMusicStream" EnableKeyboard="true" 
     TooltipText="{0}" HandleCssClass="handleBar" HandleImageUrl="~/html/images/buttons/handle.png"> 
    </ajaxToolkit:SliderExtender> 
</span> 
</p> 

代码隐藏:

txtMusicStream_SliderExtender.Maximum = Sliders.GetSliderValues(SliderType.Streaming)["MaximumMusic"]; 
txtMusicStream_SliderExtender.Minimum = Sliders.GetSliderValues(SliderType.Streaming)["MinimumMusic"]; 
txtMusicStream_SliderExtender.Steps = int.Parse((txtMusicStream_SliderExtender.Maximum/Sliders.GetSliderValues(SliderType.Streaming)["MusicSteps"]).ToString()); 
txtMovieStream_SliderExtender.Steps = int.Parse((txtMovieStream_SliderExtender.Maximum/Sliders.GetSliderValues(SliderType.Streaming)["MovieSteps"]).ToString()); 
+0

我们可以看到一个代码示例吗? – mmcglynn 2012-04-26 19:59:21

+0

你有没有尝试不同的决议?也许鼠标实际上跳过了一些东西。 – JNF 2012-05-02 16:20:23

+0

是的,我已经尝试了几种浏览器,电脑和分辨率。所以这似乎没有办法。 – 2012-05-02 17:49:35

回答

3

我发现有关的设置步骤“离散的步骤”,其实际意义是留下来明确定义(为我的理解)。 但是,当滑块的最小值为0时,则需要将1加到步骤的实际值上。

即:如果slider1.Max = 5和slider1.Min = 0和slider1.steps = 5然后再值2将有利于3.

的理由后面被跳过如果即时通讯右是,它实际上将范围除以2的相等部分,如果平均值是小数点,则将其舍入到较高的整数并跳到该整数。

谢谢

0

请确认你是否得到正确的值,包括“5”,因为它似乎应该没有任何问题的。

尝试使用在你的页面这个简单的方法,如果这个工程话,肯定你缺少的东西:

<cc1:SliderExtender ID="SliderExtender1" BoundControlID="slider1_display" Decimals="0" 
    runat="server" TargetControlID="slider1" EnableHandleAnimation="true" 
    TooltipText="{0}"> 
</cc1:SliderExtender> 
<asp:TextBox ID="slider1" runat="server"></asp:TextBox> 
<asp:Label ID="slider1_display" runat="server"></asp:Label> 

代码背后:

SliderExtender1.Minimum = 0; 
SliderExtender1.Maximum = 10;