代码之家  ›  专栏  ›  技术社区  ›  sMaN

客户端在运行时填充服务器集合

  •  0
  • sMaN  · 技术社区  · 14 年前

    每次客户端在日历控件上选择日期时,我都会将其添加到服务器上的date time对象列表中,并依次突出显示控件上的所有选定日期我可以在页面加载时突出显示(更改背景色)列表中实例化的日期,以及客户机选择的第一个日期但是,控件上的进一步日期选择只是更改突出显示的日期,即不突出显示更多。

    我曾想过,在选择时将selectedDateTime对象添加到运行时的列表中,然后将每个对象添加到日历中“selectedDates”属性将解决日历控件在选择新日期时清除selectedDates属性的问题。通过将“日期”列表中的所有日期打印到文本框中进行调试,可以显示列表的实例化日期和最新选择仅在列表中,而不是以前的选择我的问题和我认为的问题, 服务器上的列表是否可以在运行时由客户端的操作填充并添加到? 我在VS2008上使用ASP和C#.Net3.5。 谢谢

    我的代码 System.Collections.Generic.List日期;

        protected void Page_Load(object sender, EventArgs e) {
            this.dates = new List<DateTime>();
            this.dates.Add(new DateTime(2009,12,2));
            this.dates.Add(new DateTime(2009, 12, 3));
            this.dates.Add(new DateTime(2009, 12, 16));
            fillDates();
        }
    
        protected void AvailCalender_SelectionChanged(object sender, EventArgs e){
            this.dates.Add(this.AvailCalender.SelectedDate);
            foreach (DateTime date in this.dates)
            {
                this.AvailCalender.SelectedDates.Add(date);
                this.displayText.Text = this.displayText.Text + date.ToShortDateString();
            }
            fillDates();
        }
    
    
        protected void fillDates()
        {
            foreach (DateTime dates in this.dates)
            {
                this.AvailCalender.SelectedDates.Add(dates);   
            }
            this.AvailCalender.SelectedDayStyle.BackColor = System.Drawing.Color.Blue;
        }
    
    1 回复  |  直到 14 年前
        1
  •  0
  •   DaveB    14 年前

    这个 List<DateTime> 正在使用每个回发创建,因此它不会保存以前的选择。你需要像使用 ViewState 我是说, Session 或者存储在数据库中。只在第一次创建时使用 Page.IsPostBack 检查这是否是第一次点击页面。