Вы не должны связывать данные на PostBack
, измените код FormLoad
на образец ниже:
protected void Page_Load(object sender, EventArgs e)
{
if(!Page.IsPostBack)
{
List<ListItem> items = new List<ListItem>();
for (int i = 0; i < 5; i++)
{
items.Add(new ListItem(DateTime.Now.AddDays(i).ToShortDateString(), DateTime.Now.AddDays(i).ToShortDateString()));
}
ddldate.DataSource = items;
ddldate.DataBind();
ddldate.Items[0].Selected = true;
}
}
Если вы проверите свойство PostBack
как условие, ваш SelectedValue
сохранится, в противном случае DropDown
будет привязываться к каждой странице-публикации.
И я также рекомендую вам проверить статус SelectedValue
перед его использованием, не пытайтесь получить значение, если это null
, проверьте следующий код:
protected void Button1_Click(object sender, EventArgs e)
{
if(ddldate.SelectedValue != null)
{
string deliverytime = ddldate.SelectedValue.ToString();
lbltest.Text = deliverytime;
}
}