2016-04-18 2 views
0

ich ein Update-Panel in meiner page.aspx haben, und in der Update-Panel I Textbox mit Bootstrap-Timepicker haben, zeigen, dass ich ein Beispiel:A Timepicker Javascript nicht mehr funktioniert, wenn die Seite tut Postbacks ASP.NET

 <asp:UpdatePanel runat="server" id="upd1"> 
       <ContentTemplate> 
<div class="form-group"> 
        <div class="row col-md-12 col-md-offset-0"> 
         <label class="control-label">Monday</label>        
        </div> 
       </div> 

       <div class="form-group col-md-3"> 
        <div class="input-group bootstrap-timepicker timepicker input-sm"> 
         <asp:TextBox runat="server" ID="txtFecIni_1" class="form-control input-small "></asp:TextBox> 
         <span class="input-group-addon "><i class="fa fa-clock-o"></i></span> 
        </div> 
       </div> 

       <div class="form-group col-md-3"> 
        <div class="input-group bootstrap-timepicker timepicker input-sm"> 
         <asp:TextBox runat="server" ID="txtFecFin_1" class="form-control input-small "></asp:TextBox> 
         <span class="input-group-addon "><i class="fa fa-clock-o"></i></span> 
        </div> 
       </div> 

       </ContentTemplate> 
       </asp:UpdatePanel> 

Unter dem </ form> meiner Seite hinzufügen ich diesen JavaScript-Code:

 <script type="text/javascript"> 
     window.onload = function() { 
    $('#txtFecIni_1').timepicker({ 
       minuteStep: 30, 
       defaultTime: false, 
       showMeridian: false 
      }); 

      $('#txtFecFin_1').timepicker({ 
       minuteStep: 30, 
       defaultTime: false, 
       showMeridian: false 
      }); 
} 

    </script> 

    <script src="js/jquery-2.2.2.min.js"></script> 
     <script src="js/bootstrap.min.js"></script> 
     <script src="js/bootstrap-timepicker.js"></script> 

Timepicker funktioniert, bis ein Objekt Autopostback ausgelöst. Wie kann ich das lösen? Danke.

Antwort

1

ich mein Problem lösen auf diese Weise:

I window.onload = function() für function pageLoad() wie das ändern:

Bevor:

 <script type="text/javascript"> 
     window.onload = function() { 
    $('#txtFecIni_1').timepicker({ 
       minuteStep: 30, 
       defaultTime: false, 
       showMeridian: false 
      }); 

      $('#txtFecFin_1').timepicker({ 
       minuteStep: 30, 
       defaultTime: false, 
       showMeridian: false 
      }); 
} 

    </script> 

Nach:

<script type="text/javascript"> 
      function pageLoad() { 
    $('#txtFecIni_1').timepicker({ 
       minuteStep: 30, 
       defaultTime: false, 
       showMeridian: false 
      }); 

      $('#txtFecFin_1').timepicker({ 
       minuteStep: 30, 
       defaultTime: false, 
       showMeridian: false 
      }); 
} 

    </script> 

Ich habe gelesen, dass das Pageload bei jedem Postback aufgerufen wird. Hoffentlich wird dies

jemand hilfreich sein
0

dies zu Postbacks von asp.net Kontrolle durch here is explaination

Verwenden Sys.WebForms.PageRequestManage

und Ihr Code so etwas wie dieses ..

<script> 
       jQuery(document).ready(function() { 

         $('#txtFecIni_1').timepicker({ 
        minuteStep: 30, 
        defaultTime: false, 
        showMeridian: false 
       }); 

       $('#txtFecFin_1').timepicker({ 
        minuteStep: 30, 
        defaultTime: false, 
        showMeridian: false 
        }); 
       }); 
       var prm = Sys.WebForms.PageRequestManager.getInstance(); 

       prm.add_endRequest(function() { 


         $('#txtFecIni_1').timepicker({ 
        minuteStep: 30, 
        defaultTime: false, 
        showMeridian: false 
       }); 

       $('#txtFecFin_1').timepicker({ 
        minuteStep: 30, 
        defaultTime: false, 
        showMeridian: false 
        }); 
       }); 
      </script> 
Verwandte Themen