C# 获取SelectedDate.Day 字符串值并绑定到gridview

C# Get the SelectedDate.Day String value and bind it to gridview

我在 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 字符串。

SelectedDate 是一个 DateTime。从那里开始。

DateTime 有一个可能有用的 DayOfWeok 属性。 https://msdn.microsoft.com/en-us/library/system.datetime.dayofweek(v=vs.110).aspx 您也可以只执行 ToString 方法,其中包含星期几的格式化字符串,如您所愿

SelectedDate.ToString("ddd")

https://msdn.microsoft.com/en-us/library/8kb3ddd4(v=vs.110).aspx

这里是 link 格式指南。

是的,您可以只获取日期的日期(字符串)部分。 只需使用适当的字符串格式表达式即可。

calendar.SelectedDate.Day.ToString("ddd");

更多格式表达式请查看以下页面: https://msdn.microsoft.com/en-us/library/8kb3ddd4(v=vs.110).aspx

我相信当你尝试

时这会给你一个错误
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");
}

希望这能满足您的需求。