2015-01-09 1 views
0

, что у меня есть:Как отменить выбор даты при втором щелчке на календаре asp .net?

PatientsSchedule.cs

public static List<DateTime> listDatetime = new List<DateTime>(); 

plan.aspx.cs

protected void CalendarMain_DayRender(object sender, DayRenderEventArgs e) 
{ 
    if (e.Day.IsSelected == true) 
    { 
     PatientsSchedule.listDatetime.Add(e.Day.Date);   
    } 
    Session["SelectedDate"] = PatientsSchedule.listDatetime; 
} 

protected void CalendarMain_SelectionChanged(object sender, EventArgs e) 
{ 
    if (Session["SelectedDate"] != null) 
    { 
     List<DateTime> newlist = (List<DateTime>)Session["SelectedDate"]; 
     foreach (DateTime dt in newlist) 
     { 
      CalendarMain.SelectedDates.Add(dt); 
     } 
     PatientsSchedule.listDatetime.Clear(); 
    } 
} 

Приведенный выше код может сделать множественный выбор дат, однако, я пытаюсь чтобы отменить выбор даты, щелкнув одну из выбранной даты.

Пожалуйста, помогите =)

+0

Где вы пытаетесь отменить выбор? Что на самом деле делает CalendarMain-SelectionChanged? –

+0

Я пробовал как в методах CalendarMain_SelectionChanged, так и в CalendarMain_DayRender, но не работает хорошо. –

ответ

0

При изменении выбора, вы (должны) знать, какой пункт был щелкнул, так что вы можете добавить или удалить его из списка. В обработчике событий вы проверяете, есть ли элемент, который был нажат, в списке, если он удаляет его. Если не добавить его! ;)

+0

привет, yup Я получил значение даты при нажатии на дату, удалив ее из списка, если она уже в списке. Но не работает –

+0

Может быть, снова перенастроить данные в элемент управления? Обновите клиентскую сторону, серверную. –

Смежные вопросы