AJAX Control Toolkit MultiHandleSlider readOnly句柄

时间:2011-11-15 10:06:55

标签: asp.net ajaxcontroltoolkit

我对AJAX MultiHandleSliderExtender有疑问。代码如下:

<form runat="server" id="myForm">
<asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server" CombineScripts="false" />

<asp:TextBox ID="strMinModTB" runat="server" Style="display:none;" Text="80" />  
<asp:TextBox ID="strCurModTB" runat="server" Style="display:none;" Text="100" />  
<asp:TextBox ID="strMaxModTB" runat="server" Style="display:none;" Text="160" />  
<asp:TextBox ID="strSlider" runat="server" Style="display:none;" />  

<asp:MultiHandleSliderExtender ID="strModMultiSlider" runat="server"  
            BehaviorID="strModMultiSlider"  
            TargetControlID="strSlider"  
            Minimum="0"  
            Maximum="300"  
            Length="600"  
            EnableHandleAnimation="true"  
            EnableKeyboard="false"  
            EnableMouseWheel="false"  
            ShowInnerRail="true"  
            ShowHandleDragStyle="true"
            ShowHandleHoverStyle="true">  
            <MultiHandleSliderTargets>                  
                <asp:MultiHandleSliderTarget ControlID="strMinModTB" />  
                <asp:MultiHandleSliderTarget ControlID="strCurModTB" />  
                <asp:MultiHandleSliderTarget ControlID="strMaxModTB" />  
            </MultiHandleSliderTargets>              
</asp:MultiHandleSliderExtender>

<asp:Label ID="sliderLabel" runat="server" Visible="true"></asp:Label>
</form>

现在我要做的是锁定外部手柄的位置,并且只允许中间的一个在左手柄到右手柄的范围内拖动,从而改变asp:Label(ID =“sliderLabel”)中的值

我在TextBoxes上尝试了readOnly =“true”属性但没有结果。还有IsReadOnly Extender属性,但它会阻止所有句柄。

当我将BoundControlID属性(包含标签的ID)添加到Extender时它停止工作(所有句柄都在0位置,我无法拖动它们)

有没有办法绕过这个或者我错过了什么?

感谢您的回复:)

1 个答案:

答案 0 :(得分:0)

你不需要MHSE的BoundControlID吗?

另外,你能不能为每个Handle添加一个类,然后使用CSS修复外部句柄位置?

请参阅下面的代码示例。

ASP代码

<asp:MultiHandleSliderExtender ID="strModMultiSlider" runat="server"  
            BehaviorID="strModMultiSlider" TargetControlID="strSlider"  
            Minimum="0" Maximum="300" Length="600"  
            EnableHandleAnimation="true" EnableKeyboard="false"  
            EnableMouseWheel="false" ShowInnerRail="true"  
            ShowHandleDragStyle="true" ShowHandleHoverStyle="true">  
            <MultiHandleSliderTargets>                  
                <asp:MultiHandleSliderTarget ControlID="strMinModTB" HandleCssClass="handle_outer"/>  
                <asp:MultiHandleSliderTarget ControlID="strCurModTB" HandleCssClass="handle_inner" />  
                <asp:MultiHandleSliderTarget ControlID="strMaxModTB" HandleCssClass="handle_outer"/>  
            </MultiHandleSliderTargets>              
</asp:MultiHandleSliderExtender>

CSS代码

.handle_outer
{   
   //Code to Fix Handle in Place  
}

.handle_inner
{
}