Как выделить определенные дни в календаре управления ASP.net? - PullRequest
0 голосов
/ 06 октября 2018

Я пытаюсь создать календарь, в котором будут выделены даты, в которые происходит мероприятие, в зале, выбранном в DropDownList1.

public partial class Calendar : System.Web.UI.Page
{
    IQueryable<Activity> activities;

    protected void Page_Init(object sender, EventArgs e)
    {
        int idHall;
        bool b = Int32.TryParse(DropDownList1.SelectedValue, out idHall);
        if (!b)
        {
            idHall = 2;
        }

        ModelDatabase db = new ModelDatabase();

        activities = from a in db.Activities
                     join s in db.Halls on a.hall_id_hall equals s.id_hall
                     where s.i[d_hall == idHall
                     select a;][1]
    }

    protected void Page_Load(object sender, EventArgs e)
    {


    }

    protected void Calendar1_DayRender(object sender, DayRenderEventArgs e)
    {
        foreach (Activity a in activities) {
            DateTime calendarDay = e.Day.Date;
            DateTime activityStart= a.start ?? default(DateTime);
            DateTime activityEnd = a.end ?? default(DateTime);
            if (DateTime.Compare(activityStart, calendarDay) > 0 && 
                DateTime.Compare(activityEnd, calendarDay.AddDays(1)) < 0)
            {
                e.Cell.BackColor = Color.Yellow;
                break;
            }
        }
    }

    protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
    {
        int idSalon = Int32.Parse(DropDownList1.SelectedValue);

        ModelDatabase db = new ModelDatabase();

        activities = from a in db.Activities
                     join h in db.Halls on a.hall_id_hall equals h.id_hall
                     where h.id_hall == idHall
                     select a;
    }

1 Ответ

0 голосов
/ 06 октября 2018

Решил, когда я писал вопрос.Все, что мне нужно, это переместить код из Page_Init в Page_load.Чтение Жизненный цикл страницы ASP.NET помогло мне.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...