0

後,我有很奇怪的問題。我正在使用Ajax Toolkit Calendar Extender。我有更新面板 - > ListView - >文本框(AutoPostBack =是)。 如果我輸入框,它會更新到數據庫,然後使用updatepanel.update()後面的代碼更新面板。這工作正常。所以我想把日曆放在文本字段中,所以我使用Ajax Calendar Extender並調用文本框的目標控件ID,當我在那裏時,單擊文本框和日曆彈出,然後選擇日期和文本框更改爲新日期更新到數據庫然後回發,但問題是日曆在回發後再次彈出。第一次選擇日期後,我需要一種方法來隱藏該死的日曆。Ajax工具包日曆擴展,會彈出兩次選擇

<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" /> 

回答

0

我想通這一個很久以前的事,併成爲一個服務器和所有,做回發我不能使用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> 

所有你需要做的就是每次你想要一個日期彈出窗口,你只需添加日曆類到它;

CssClass="SomeTextBoxClass Calendar" 

我沒有得到任何問題後,回彈與它彈出了。