2012-04-26 128 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;