将复选框列表与接下来的 7 天日期值绑定

Bind Checkboxlist with next 7 days Date Value

我的页面中有一个 CheckboxList,我想在我的列表中动态绑定未来 7 天(不是今天)的值。该值应该以右下图所示的格式插入,当我在 aspx 中显示页面时,我想显示日期和日期,如第一种图像格式所示。

所有动态绑定执行使用Page_Load()

<asp:CheckBoxList ID="CheckBoxList1" runat="server"></asp:CheckBoxList>

编辑#2:

public void BindCheckBoxList()
{
    IEnumerable<string> dates=Enumerable.Range(1, 7).Select(p=>DateTime.Now.Date.AddDays(p).ToString("dddd HH:mm:ss"));
        CheckBoxList1.DataSource = dates;  
        CheckBoxList1.DataBind();
}

V#1

创建一个方法,该方法将 return 列表中的日期以您喜欢的格式显示,

static IEnumerable<string> DatsOnInterval(DateTime from, DateTime thru,int dateInterval=1)
    {
        for(var day = from.Date; day.Date <= thru.Date; day = day.AddDays(dateInterval))
            yield return day.DayOfWeek.ToString()+" "+day.Date.ToString("dd-MM-yyyy HH:mm:ss");
    }

这样调用并填写复选框列表,

public static void Main()
    {

        try
        {
        var fromDt=DateTime.Now.AddDays(1);
        var toDt=fromDt.AddDays(7);
    var datas=DatsOnInterval(fromDt,toDt);
            foreach(var x in datas)
            {
                Console.WriteLine(x);
            }

        }
        catch(Exception ex)
        {
            Console.WriteLine(ex.Message);
        }
    }

好吧,据我了解,您希望以 dayOfWeek year-month-day 格式显示未来 7 天的列表。这是一种方法:

CheckBoxList 应该是这样的:

<asp:CheckBoxList ID="CheckBoxList1" runat="server" DataTextField="date"   
        DataValueField="Id" /* Other Attributes */>
</asp:CheckBoxList> 

这应该是绑定它的方法:

public void BindCheckBoxListWithNextSevenDays()
{
    DateTime today = DateTime.Now;

    DataTable dt = new DataTable();
    dt.Columns.Add("Id", typeof(int));
    dt.Columns.Add("date", typeof(string));

    for(int i = 1; i <= 7; i++)
    {
        dt.Rows.Add(i, today.AddDays(i).ToString("dddd yyyy-MM-dd")); // (dddd yyyy-MM-dd) will return the date in following format (Wednesday 2020/02-05)
    }
    CheckBoxList1.DataSource = dt;  
    CheckBoxList1.DataBind();
}