【问题标题】:ASP.NET how to assign to CalendarExtender attribute SelectedDate = CalendarTextBox.TextASP.NET 如何分配给 CalendarExtender 属性 SelectedDate = CalendarTextBox.Text
【发布时间】:2012-07-12 10:32:32
【问题描述】:

带有 AjaxContolToolkit 的 ASP.NET。

我在可编辑的GridView 控件中有一个CalendarExtender

我想做一件简单的事情:将TextBox.TextLabel.Text 的现有日期值分配给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>
...

我尝试了很多sn-ps,没有任何帮助!

请问,是否可以无需额外的 JavaScript。

谢谢!

【问题讨论】:

  • 你要在绑定你的datagrid的时候做吗??
  • 不,CalendarExtender 出现在 Image 上单击以在编辑模式下编辑 TextBoxTextBox.Text 在读取模式下与Label 具有相同的值,并且需要将该值传递给该行的SelectDate 属性。一次只能编辑一行。你知道,这很平常,没什么特别的。

标签: asp.net ajaxcontroltoolkit usability


【解决方案1】:

您不需要指定SelectedDate,因为它是文本框中已经存在的日期。所以你可以设置TextBox.Text属性,它会自动作为SelectedDate

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

在您的情况下(例如在 GridView 的 RowDataBound 事件中):

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

【讨论】:

  • 谢谢!真的行。我只是更改了 SQL 查询输出格式。
猜你喜欢
  • 2011-04-06
  • 2014-12-12
  • 1970-01-01
  • 2011-12-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-17
  • 2010-11-15
相关资源
最近更新 更多