簡體   English   中英

Ajax Toolkit Calendar Extender,選擇后彈出兩次

[英]Ajax Toolkit Calendar Extender, Pops up twice after selection

我有一個很奇怪的問題。 我正在使用Ajax工具包日歷擴展程序。 我有更新面板-> ListView->文本框(AutoPostBack =是)。 如果我在框中輸入內容,它將更新為db,然后使用updatepanel.update()后面的代碼進行更新面板。 這很好。 因此,我想將日歷放在文本字段中,以便使用Ajax Calendar Extender並調用文本框的目標控件ID,然后在其中單擊文本框並彈出日歷,然后選擇日期並將文本框更改為新日期先更新到db,然后再進行回發,但是問題是日歷在回發后再次彈出。 我需要一種在第一次選擇日期后隱藏該死日歷的方法。

<asp:TextBox ID="txtDespatchDate" runat="server" CssClass="tblDespContTxtLst" Text='<%# Eval("DescDespatchDate") %>' Width="70px" AutoPostBack="True" OnTextChanged="updDespatchLine" AutoComplete="Off" />

<ajaxToolkit:CalendarExtender ID="calDespatchDate" runat="server" CssClass="Calendar" Format="dd/MM/yyyy" PopupPosition="BottomLeft" TargetControlID="txtDespatchDate"  />

我很早以前就想出了這一點,並且在服務器上進行所有工作並進行回發,所以我無法使用ajax擴展器解決它,所以我必須使用JQuery,我做了類似的事情;

背后的代碼

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
   ScriptManager.RegisterStartupScript(NameOfUpdatePanel, Me.GetType, "SuperCalendar", "$( function() {
      $('.Calendar').datepicker({ dateFormat: 'dd/mm/yy'}); } );", True)
End Sub

ASP頁面

<asp:UpdatePanel ID="NameOfUpdatePanel" runat="server" UpdateMode="Conditional">
   <ContentTemplate>
      <asp:TextBox ID="txtBox1" runat="server" CssClass="Calendar" />
   </ContentTemplate>
</asp:UpdatePanel>

您需要將最新的JQuery標頭添加到頁面頂部,例如:

<script src="../Scripts/jquery-ui-1.8.21.custom.min.js" type="text/javascript"></script>

您要做的就是每次您想要一個日期彈出框時,只需將Calendar Class添加到其中;

CssClass="SomeTextBoxClass Calendar"

回發后,它彈出時我沒有任何問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM