默认情况下在ASP.Net日历控件中选择当前日期

时间:2020-03-05 18:59:41  来源:igfitidea点击:

假设我有一个带日历控件的aspx页面:

<asp:Calendar ID="Calendar1" runat="server"  SelectedDate="" ></asp:Calendar>

是否可以为SelectedDate放入任何内容,以使其默认情况下使用当前日期,而不必使用背后的代码?

解决方案

回答

如果我们已经在进行数据绑定:

<asp:Calendar ID="Calendar1" runat="server"  SelectedDate="<%# DateTime.Today %>" />

会做的。这确实要求我们正在执行Page.DataBind()调用(或者父控件上的databind调用)的某个位置。如果我们不这样做,并且绝对不希望在页面上隐藏任何代码,则必须创建一个包含日历控件的用户控件,并设置其selecteddate。

回答

有两种方法。

后期装订

<asp:Calendar ID="planning" runat="server" SelectedDate="<%# DateTime.Now %>"></asp:Calendar>

背后的代码(Page_Load解决方案)

protected void Page_Load(object sender, EventArgs e)
{
    BindCalendar();
}

private void BindCalendar()
{
    planning.SelectedDate = DateTime.Now;
}

尽管如此,我强烈建议我们使用BindMyStuff方法进行操作。单入口点更易于调试。但是既然我们似乎了解自己的游戏,那么我们就已经准备就绪。

回答

DateTime.Now将不起作用,请改用DateTime.Today。