列表<datetime?>始终只添加一个值</datetime?>

时间:2014-03-01 11:40:05

标签: c# asp.net datetime

我想允许用户选择日期并按下日期应该是的添加按钮 添加到列表中,它会添加所选日期,但如果用户想要添加其他日期 前一个消失在这里是我的代码

public partial class home : System.Web.UI.Page
{
    List<DateTime?> Holidays = new List<DateTime?>();
    protected void Page_Load(object sender, EventArgs e)
    {
        txtOthrHoliday.Attributes.Add("readonly", "readonly");
    }

    protected void btnAddHoliday_Click(object sender, EventArgs e)
    {
        if (txtOthrHoliday.Text != String.Empty)
        {
            Holidays.Add(DateTime.ParseExact(txtOthrHoliday.Text,extOtherHoliday.Format, null));
        }
  }

所以当我添加另一个按钮来检查Holidays.Count()它会返回0,我已经尝试将列表设置为静态但没有成功

2 个答案:

答案 0 :(得分:0)

您需要在会话中保留List<DateTime?> Holidays或在某个位置保持其状态。

你也可以将它保持在ViewState持续时间回发。关于SO的类似问题

  1. Maintain generic list between postbacks

答案 1 :(得分:0)

我的猜测是,每当用户选择发布页面的日期(换句话说,重新呈现)并且Holidays对象再次初始化时,简单的解决方案是将Holidays对象保留在{{1 (页面之间不携带ViewState值)

ViewState