[英]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.