2017-02-08 2 views
0

私は私のプロジェクト(http://keith-wood.name/datepick.htmlvb.net jqueryのDatePickerのポストバック

にこの日付ピッカーを使用しています私はasp:TextBox制御し、問題にそれを使用するには、コントロールはAutoPostBackの機能を失うということです。

私が達成したいのは、選択した日付にリンクされたグリッドビューを更新し、この特定の日付ピッカーを使用する前に動作していたことです(ただし、さまざまな理由でdatepickerを変更する必要がありました)。

ドロップダウンから日付を変更するか、ユーザーを選択すると、グリッドビューが更新されます。私のコードの

関連作品:

<script language="javascript" type="text/javascript"> 
    $(document).ready(function() { $('#txtData').datepick({ dateFormat: 'dd/mm/yyyy'}); 
</script> 

以下は、INSIDE UPDATEパネルであり、スクリプトマネージャは、ポストバックが、おそらく制御するので、発射されていない

<div class="generic"> 
    <div class="panel"> 
     <div class="title"><h1>Chiamate del giorno</h1></div> 
      <div > 
       <asp:TextBox runat="server" ID="txtData" CssClass="calendarTxt" placeholder="Data" BorderStyle="Solid" BorderColor="#d13f31" BorderWidth="2px" required="required" AutoPostBack="true"></asp:TextBox> 
       <asp:DropDownList ID="ddlUtenti" runat="server" AppendDataBoundItems="true" CssClass="dropdown" placeholder="Scegli a chi riassegnare la chiamata" AutoPostBack="true" OnSelectedIndexChanged="ddlUtenti_SelectedIndexChanged"> 
     <asp:ListItem Value="-1">Tutti</asp:ListItem> 
    </asp:DropDownList> 
      </div> 


     <br /> 
     <div class="content"> 
      <div id="divChiamateGiorno" class="scrollDiv" > 
      <asp:GridView ID="grdChiamateGiorno" runat="server" AutoGenerateColumns="False" DataKeyNames="idchia,dalle,alle,idstato" DataSourceID="SqlDataSource1" AllowSorting="True" CssClass="tablestyle" > 
       <AlternatingRowStyle BackColor="WhiteSmoke" CssClass="altrowstyle"/> 
       <FooterStyle BackColor="#CCCC99" ForeColor="Black" /> 
       <HeaderStyle Font-Bold="True" BackColor="LightGray" HorizontalAlign="Center" VerticalAlign="Middle" Height="30px" CssClass="headerstyle" /> 
       <RowStyle CssClass="rowstyle" /> 

       <Columns> 
        <asp:BoundField DataField="tecnico" HeaderText="Tecnico" SortExpression="tecnico" /> 
        <asp:BoundField DataField="ragsoc" HeaderText="Cliente" SortExpression="ragsoc" ItemStyle-Width="30%" /> 
        <asp:BoundField DataField="rdescr" HeaderText="Richiesta" SortExpression="rdescr" ItemStyle-Width="50%" /> 
        <asp:BoundField DataField="prior" HeaderText="Priorità" SortExpression="prior" ItemStyle-HorizontalAlign="Center" > 
        <ItemStyle HorizontalAlign="Center" /> 
        </asp:BoundField> 
        <asp:BoundField DataField="app" HeaderText="Appuntamento" SortExpression="app" ItemStyle-HorizontalAlign="Center" > 
        <ItemStyle HorizontalAlign="Center" /> 
        </asp:BoundField> 
        <asp:BoundField DataField="assremota" HeaderText="Remoto" SortExpression="assremota" ItemStyle-HorizontalAlign="Center" > 
        <ItemStyle HorizontalAlign="Center" /> 
        </asp:BoundField> 
        <asp:BoundField DataField="idchia" HeaderText="idchia" InsertVisible="False" ReadOnly="True" SortExpression="idchia" Visible="false" /> 
        <asp:BoundField DataField="tipo" HeaderText="tipo" SortExpression="tipo" Visible="false" /> 
        <asp:BoundField DataField="rforo" HeaderText="rforo" SortExpression="rforo" Visible="false" /> 
        <asp:BoundField DataField="dalle" HeaderText="dalle" SortExpression="dalle" Visible="false" /> 
        <asp:BoundField DataField="alle" HeaderText="alle" SortExpression="alle" visible="false"/> 
        <asp:BoundField DataField="idstato" HeaderText="idstato" SortExpression="idstato" visible="false"/> 
        <asp:TemplateField HeaderText=""> 
         <ItemTemplate> 
    <div class="clearing"></div> 

<div class="tooltip"> 
    <i id="collapse3" runat="server" class="fa fa-caret-square-o-left fa-lg" aria-hidden="true"></i> 
    <span class="tooltiptext" id="litGestioneGiorn" runat="server"></span> 
    </div> 
         </ItemTemplate> 

        </asp:TemplateField> 

       </Columns> 

      </asp:GridView> 
       </div> 

      <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:dbVulcanoConnectionString %>" SelectCommand="select utenti.nome as tecnico, Richieste.IDRic as idchia, richieste.descr as rdescr, ISNULL(richieste.assistremota,0) as assremota, Clienti.RagSociale as ragsoc, richieste.descr as descr, richieste.priorita as prior, richieste.tipo as tipo, richieste.rforologio as rforo, ISNULL(statoric.appuntamento,0) as app, ISNULL(statoric.oradalle,0) as dalle, ISNULL(statoric.oraalle,0) as alle, statoric.ID as idstato from clienti inner join richieste on clienti.idcliente = richieste.rfcliente inner join statoric on statoric.rfric = richieste.idric inner join stati on stati.idstato = statoric.rfstato inner join utenti on utenti.idutente=statoric.rftecnico where statoric.attuale = 1 and statoric.rfstato &lt; 14 and statoric.dataass = @data and (@tecnico = -1 or statoric.rftecnico = @tecnico) order by app desc, oraalle asc, prior desc"> 
       <SelectParameters> 
        <asp:ControlParameter ControlID="txtData" DefaultValue="17/01/2017" Name="data" PropertyName="Text" Type="DateTime" /> 
        <asp:ControlParameter ControlID="ddlUtenti" DefaultValue="0" Name="tecnico" PropertyName="SelectedValue" Type="Int32" /> 
       </SelectParameters> 
      </asp:SqlDataSource> 
      <p> 
       &nbsp; 
      </p> 
      <table border="0" cellspacing="0" cellpadding="0" style="width: 100%"> 
    <tr> 
     <td></td> 
     <td align="right"> 
      <input runat="server" name="Stampa" type="button" class="gbutton" id="btnStampa" value="Stampa" onclick="printdiv('divChiamateGiorno');" /> 
     </td> 
    </tr> 
</table> 
     </div> 
    </div> 
</div> 
+0

彼のページには、v5.1.0の 'フィールド値を更新するときに変更イベントをトリガする 'というメッセージが表示されています。これはあなたのコードでは発生していないようです。 'onChange'または' trigger change'イベントを使って手動で変更イベントをトリガすることができます。 – Obsidian

+0

はい、単純なポストバックをどうすればできますか? Autopostback = trueと同じ結果になります。 –

答えて

0

ページ上で宣言されていますコンテンツが変更されたことを知らず、コントロールがポストバックを実行するのは変更イベントです。あなたの場合は最後に

$('.calendarTxt').datepick({ 
    onSelect: function (dateText) { 
     $(this).trigger('change'); 
    } 
    }); 

$(document).ready(function() { $('#txtData').datepick({ 
    dateFormat: 'dd/mm/yyyy', 
    onSelect: function (dateText) { 
    $(this).trigger('change'); 
    } 
}); 

:私は完全にプラグインを調べたが、jQueryのUIの日付ピッカーでは、私は手動でコールバックとトリガーの変更イベントを行うにはonslectコマンドを使用しhaventは

idの代わりにcssクラスを使用すると、マスタースクリプトページからこのコードをトリガーできます。つまり、クラスを追加する必要があるすべての日付入力コントロールにコードを配置する必要はありません。

+0

シンプル!それは働いている! CSSのヒントもありがとう –