2011-01-31 5 views
0

私はAJAXコントロールツールキットのCalendarExtenderを使用してasp:TextBoxで日付を選択したASP.NET Webサイトを開発しています。私は、CalendarExtenderコントロールから選択した日付に基づいて、asp:CalendarコントロールのVisibleDateプロパティを設定します。私はあなたにこの機能を達成するための手助けをお願いします。 または、CalendarExtenderコントロールから日付の選択時にページをポストバックして、TextChangedイベントをコードビハインドで処理し、このイベントハンドラ内でVisibleDateプロパティを設定することはできますか? おかげaspの "VisibleDate"プロパティを設定する方法:Calendarコントロール?

答えて

2

私はVisibleDateプロパティを設定するTextChangedイベントで非同期ポストバックを使用します。

ASPX:

<asp:UpdatePanel ID="UdpDatePanel" runat="server" UpdateMode="conditional" ChildrenAsTriggers="false" > 
    <ContentTemplate> 
     <asp:Calendar ID="Calendar1" runat="server" /> 
     <asp:TextBox ID="TxtDate" AutoPostBack="true" runat="server" /> 
     <asp:CalendarExtender ID="CalendarExtender1" TargetControlID="TxtDate" runat="server" /> 
    </ContentTemplate> 
    <Triggers> 
     <asp:AsyncPostBackTrigger ControlID="TxtDate" EventName="TextChanged" /> 
    </Triggers> 
</asp:UpdatePanel> 

は、分離コード:それはパフォーマンス保ち、このように

Public Partial Class CalendarDemo 
    Inherits System.Web.UI.Page 

    Private Sub TxtDate_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles TxtDate.TextChanged 
     Dim d As Date 
     If Date.TryParse(Me.TxtDate.Text, d) Then 
      Me.Calendar1.VisibleDate = d 
     End If 
    End Sub 

End Class 

将来のasp.net-ajaxツールキットのリリースで変更されるかもしれないjavascriptを使いこなす必要はありません。

+0

Thanx Tim ..あなたの提案は私のために働いた。私の場合の違いは、asp:Calendarコントロールは同じUpdatePanelにありません。それは、特別な属性なしで、異なるUpdatePanel内の場所です。 – Guru

関連する問題