我在aspx应用程序上运行此日历日期
<div>
<asp:Calendar runat="server" ID="calendar" SelectionMode="Day" OnSelectionChanged="DateChanged" ondayrender="DateRange"></asp:Calendar>
</div>
<div style="text-align: center; margin-top: 30px; display: inline-block;">
<asp:GridView ID="calendarsubjects" CssClass="myGridStyle" runat="server">
</asp:GridView>
</div>
及其背后的代码:
protected void DateChanged(object sender, EventArgs e)
{
calendarsubjects.DataSource = calendar.SelectedDate.Day.ToString();
calendarsubjects.DataBind();
}
在我的代码中:
日历仅获取所选日期的编号。是否有可能只获得当天的字符串值。就像我点击特定号码8
时一样,它会显示所选日期的Wed
字符串。
答案 0 :(得分:1)
SelectedDate是一个DateTime。从那里开始。
DateTime具有可能有用的DayOfWeok属性。 str_interp
您也可以使用格式字符串为一周中的某一天执行ToString方法,因为您希望它呈现
SelectedDate.ToString("ddd")
https://msdn.microsoft.com/en-us/library/system.datetime.dayofweek(v=vs.110).aspx
这是指向格式指南的链接。
答案 1 :(得分:1)
是的,您只能获得日期的一天(字符串)部分。 只需使用适当的字符串格式表达式。
calendar.SelectedDate.Day.ToString("ddd");
请查看以下页面,了解更多格式表达式: https://msdn.microsoft.com/en-us/library/8kb3ddd4(v=vs.110).aspx
答案 2 :(得分:1)
我确信当您尝试
时会出现错误calendarsubjects.DataSource = calendar.SelectedDate.Day.ToString();
calendarsubjects.DataBind();
因为calendarsubjects
是GridView
而GridView是在那里获取List,IEnumerable或Array中的值。
更好的是你应该删除Grid的代码并将值直接分配给div这样的
<div>
<asp:Calendar runat="server"
ID="calendar"
SelectionMode="Day"
OnSelectionChanged="DateChanged"
ondayrender="DateRange"></asp:Calendar>
</div>
<div style="text-align: center; margin-top: 30px; display: inline-block;" ID="calendarsubjects"></div>
背后的代码
protected void DateChanged(object sender, EventArgs e)
{
calendarsubjects.InnerHtml = calendar.SelectedDate.ToString("ddd");
}
希望这会做你想要的。