2013-08-19 3 views
0

Мне нужно отключить MultiHandleSliderExtender. Я нашел ответ для отключения Slider в Here. Я попытался изменить свой код, как упоминалось там. но для MultiHandleSliderExtender его не работает.Как отключить MultiHandleSliderExtender в Ajaxtoolkit

<form id="form1" runat="server"> 
     <ajaxToolkit:ToolkitScriptManager ID="ToolkitScriptManager1" runat="Server" /> 
     <div> 

      <table> 
       <tr> 
        <td> 
         <asp:TextBox ID="multiHandle2_1_BoundControl" runat="server" Width="30" Text="0" /> 
        </td> 
        <td style="width: 180px"> 
         <asp:TextBox ID="sliderTwo" runat="server" /> 
         <ajaxToolkit:MultiHandleSliderExtender ID="multiHandleSliderExtenderTwo" runat="server" 
          BehaviorID="multiHandleSliderExtenderTwo" 
          TargetControlID="sliderTwo" 
          Minimum="0" 
          Maximum="10" 
          Length="175" 
          TooltipText="{0}" 
          EnableHandleAnimation="true" 
          Orientation="Horizontal" 
          EnableKeyboard="false" 
          EnableMouseWheel="false" 
          ShowHandleDragStyle="true" 
          ShowHandleHoverStyle="true"> 
          <MultiHandleSliderTargets> 
           <ajaxToolkit:MultiHandleSliderTarget ControlID="multiHandle2_1_BoundControl" /> 
           <ajaxToolkit:MultiHandleSliderTarget ControlID="multiHandle2_2_BoundControl" /> 
          </MultiHandleSliderTargets> 
         </ajaxToolkit:MultiHandleSliderExtender> 
         <asp:Label ID="lbl" runat="server" Text="1" /> 
        </td> 
        <td> 
         <asp:TextBox ID="multiHandle2_2_BoundControl" runat="server" Width="30" Text="10" /> 
        </td> 
       </tr> 
      </table> 
      <input id="btnDisable" type="button" value="Disable" onclick="disableSlider()" /> 
      <input id="btnEnable" type="button" value="Enable" onclick="enableSlider()" disabled="true" /> 
     </div> 

     <script type="text/javascript" language="javascript"> 
      function disableSlider() { 
       $clearHandlers($find('multiHandleSliderExtenderTwo')._handleData); 
       //$clearHandlers($find('multiHandleSliderExtenderTwo')._railElement); 
       $get('btnDisable').disabled = true; 
       $get('btnEnable').disabled = false; 
      } 

    function enableSlider() { 
     $addHandlers($find('multiHandleSliderExtenderTwo')._handleData, 
      { 
       'mousedown': $find('multiHandleSliderExtenderTwo')._onMouseDown, 
       'dragstart': $find('multiHandleSliderExtenderTwo')._IEDragDropHandler, 
       'drag': $find('multiHandleSliderExtenderTwo')._IEDragDropHandler, 
       'dragend': $find('multiHandleSliderExtenderTwo')._IEDragDropHandler 
      }, 
      $find('Slider1')); 

     //$addHandlers($find('multiHandleSliderExtenderTwo')._outer, 
     // { 
     //  'click': $find('multiHandleSliderExtenderTwo')._onRailClick 
     // }, 
     // $find('multiHandleSliderExtenderTwo')); 
     $get('btnDisable').disabled = false; 
     $get('btnEnable').disabled = true; 
    } 

     </script> 
    </form> 

в multihandler нет событий называется railElement. есть ли что-то эквивалентное этому? или любая другая идея для отключения управления была бы полезна

EDIT: I Способный отключить это. но возникают проблемы при возврате назад.

Я изменил свой код следующим образом:

function disableSlider() {   
    $clearHandlers($find('multiHandleSliderExtenderTwo')._handleData); 
    $clearHandlers($find('multiHandleSliderExtenderTwo')._outer); 
    $clearHandlers($find('multiHandleSliderExtenderTwo')._outerDelegates);  

} 

ответ

0

Нет необходимости использовать Java-скрипт для отключения. Самый простой способ - установить значение MultiHandleSliderExtender - IsReadOnly.