我在GridView上使用Calendar对象。目前它工作,但当我想更新我的行时,我无法选择我的对象的返回。
在更新时,它会返回给我: MMM JJ YYYY HH:MM AM/PM -> avr 13 2014 12:00AM
我只想要JJ/MM/YYYY
格式!
<EditItemTemplate>
<asp:Calendar ID="Cal_date_debut" runat="server" SkinID="Calendar" SelectedDate='<%# Bind("date_debut_session") %>'></asp:Calendar>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label2" runat="server" Text='<%# Bind("date_debut_session") %>'></asp:Label>
</ItemTemplate>
有代码显示我的日历。
有人知道怎么做吗?
答案 0 :(得分:0)
这是一个CultureInfo问题
试试这个
<EditItemTemplate>
<asp:Calendar ID="Cal_date_debut" runat="server" SkinID="Calendar" SelectedDate='<%# Bind("date_debut_session") %>' VisibleDate='<%# Bind("date_debut_session") %>' >
</asp:Calendar>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label2" runat="server" Text='<%# Bind("date_debut_session", "{0:d}") %>'></asp:Label>
</ItemTemplate>
你可以看到SelectedDate
从db(我猜)作为DateTime对象传递,而{0:d}
格式字符串将DateTime从db转换为格式为{{1}的字符串},但有other options来做。
从代码隐藏中,您可以通过格式化dd/MM/yyyy
来获得相同的输出
Cal_date_debut.SelectedDate
请注意Cal_date_debut.SelectedDate.ToString("dd/MM/yyyy");
属性,绑定到VisibleDate
。
我尝试使用sqlDataSource更新列,但它确实有效。