Asp.net 如何设置TemplateField日历的选定字段?

Asp.net 如何设置TemplateField日历的选定字段?,asp.net,calendar,Asp.net,Calendar,如何在Gridview中设置日历EditItemTemplate的选定日期 <asp:TemplateField HeaderText="beginDate" SortExpression="beginDate"> <EditItemTemplate> <asp:Calendar ID="cal1" runat="server" SelectedDate="1 june 2019

如何在Gridview中设置日历EditItemTemplate的选定日期

<asp:TemplateField HeaderText="beginDate" SortExpression="beginDate">
                    <EditItemTemplate>
                        <asp:Calendar ID="cal1" runat="server" SelectedDate="1 june 2019"></asp:Calendar>
                    </EditItemTemplate>
                    <ItemTemplate>
                        <asp:Label ID="Label1" runat="server" Text='<%# Bind("beginDate") %>'></asp:Label>
                    </ItemTemplate>

我试过了

  • SelectedDate=“2019年6月1日”
  • SelectedDate=“2012/04/04”
  • SelectedDate=“”(此项中断-不想打开编辑屏幕) 返回“2019/06/05”,这是sQL数据库中的日期字段
我不知道为什么SelectedDate不想工作,即使我硬编码如上所示的选定日期


SelectedDate
是一个
DateTime
属性,因此您可以在
GridView
的codebehind(我更喜欢
RowDataBound
)中或通过内联标签在aspx上设置它:

<asp:Calendar ID="cal1" SelectedDate="<%= new DateTime(2019,06,01) %>" runat="server"></asp:Calendar>

创建控件时出错-UpdatePanel1无法从“SelectedDate”属性的字符串表示形式“”中创建类型为“System.DateTime”的对象。我所要做的就是添加属性VisibleDate=“”
protected void Gridview1_RowDataBound(Object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        Calendar cal = (Calendar)e.Row.FindControl("cal1");
        cal.SelectedDate = new DateTime(2019, 06, 01);
    }
}