我们在页面上使用多个滑块扩展器,其中一些滑块扩展器会跳过步骤。例如,一个滑块的值为最小值0和最大值10,并且steps属性设置为10.但是当它滑动时,它总是跳过5,所以你从1-4开始然后跳过5然后再跳到6-10 。所以你永远不能选择5。
页面上的许多滑块都会发生同样的情况(即使它们具有不同的最小值,最大值和步长值)。
关于我们搞砸了什么的任何想法?
.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 :(得分:3)
我发现设置与“离散步骤”相关的步骤,它实际上意味着什么是明确定义的(为了我的理解)。 但是当滑块的最小值为0时,则需要将1添加到步骤的实际值。
即:如果slider1.Max = 5且slider1.Min = 0且slider1.steps = 5,那么将跳过值2以支持3.
如果我正确的话背后的理由是它实际上将范围除以2相等的部分,如果平均点是小数,则将其舍入到更高的整数并跳过那个。
由于
答案 1 :(得分:1)
请验证您是否获得正确的值,包括“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;