2012-07-12 54 views
1

帶有AjaxContolToolkit的ASP.NET。ASP.NET如何分配到CalendarExtender屬性SelectedDate = CalendarTextBox.Text

我有一個CalendarExtender裏面可編輯GridView控制。

我想做一件簡單的事情:將TextBox.TextLabel.Text的existring日期值設置爲SelectedDate屬性,以使編輯更加用戶友好。任務很簡單,不是嗎?!

... 
<ItemTemplate> 
<asp:Label ID="accdateLbl" runat="server" Text='<%# Bind("totalaccdate") %>'></asp:Label> 
</ItemTemplate> 
<EditItemTemplate> 
<asp:TextBox ID="accdateEditTxtBox" runat="server" Text='<%# Eval("totalaccdate") %>' ReadOnly="True" /> 
<asp:CalendarExtender ID="accdateEditTxtBoxCalendarExtender" runat="server" TargetControlID="accdateEditTxtBox" Format="dd-MM-yyyy" PopupButtonID="accdateEditCalImage" 
StartDate="01-01-2011" EndDate='<%# DateTime.Now %>' SelectedDate='???'/> 
<asp:Image ID="accdateEditCalImage" runat="server" ImageUrl="~/images/calendar.gif" /> 
</EditItemTemplate> 
... 

我試了很多片段,沒有什麼幫助!

而且,請不要,不需要額外的JavaScript。

謝謝!

+0

你想,當你綁定你的DataGrid做到這一點? – Jupaol 2012-07-12 10:39:03

+0

不,''Calendar'出現在'Image'上,點擊編輯'TextBox'編輯模式。 'TextBox.Text'在讀取模式下具有與'Label'相同的值,並且該值需要傳遞給此行上的'SelectDate'屬性。一次只有一行是可編輯的。你知道,這很平常,沒什麼特別的。 – 84RR1573R 2012-07-12 10:47:05

回答

3

您不需要指定SelectedDate,因爲它是已經在TextBox中的日期。所以你可以設置TextBox.Text屬性,它將被自動作爲SelectedDate

但是您需要使用與CalendarExtender使用的相同的格式

在你的情況(例如在GridView的RowDataBound事件):

accdateEditTxtBox.Text = theDate.ToString("dd-MM-yyyy"); 
+0

謝謝!真的行。我只是改變了SQL查詢輸出格式。 – 84RR1573R 2012-07-12 10:59:48