Bonjour à tous,

Je rentre dans les détails:

Je suis en train de construire un calendrier en utilisant une <table> dans ma View... Le calendrier fonctionne SEULEMENT pour le jour d'aujourd'hui pour l'instant...

En effet j'aimerais aussi pouvoir prendre en compte la date que va choisir le client lorsqu'il utilisera le site web.

Ma view : (index.cshtml) ==> InputText lié à un datepicker et mon calendrier est juste en dessous:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
 
<input id="datePickerCalendar" type= "text"/>
 
<script type="text/javascript">
 
    $(document).ready(function () {
        $('#datePickerCalendar').datepicker({
            altFormat: "dd-mm-yy",
            dayNamesMin: ["Di", "Lu", "Ma", "Me", "Je", "Ve", "Sa"],
            monthNames: ["Janvier", "Fevrier", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre"],
            changeMonth: true,
            onSelect: function () {
 
                /*('#datePickerCalendar').change(loadCalendar());*/ //J'aimerais récupérer la valeur ici
            }
        });
    });
</script>
 
<table border="1" class="tableCalendar" id="calendar">
  <caption> Veuillez sélectionner l'horaire souhaité </caption>
  <th id="court"></th>
  @foreach(var item in Model)  {
      foreach(var court in item.TennisCourts){
          if (court.Outside == true)
          {
              <td id="court" class="court">Court n°@court.Number (Extérieur)</td>
          }
          else
          {
              <td id="court" class="court">Court n°@court.Number (Intérieur)</td>
          }
      }
  }
 
  @foreach (var item in Model)
  {
 
        //var chooseDate = $('#datePickerCalendar').value;
 
 
      var openTime = item.OpenTime;
      var closeTime = item.CloseTime;
      var inter = openTime;
 
      while (inter < closeTime)
      {
        <tr>
            <th id="time" class="court">@inter.TimeOfDay </th>
            @for (int i = 1; i <= item.TennisCourts.Count; i++)
            {
                foreach(var reservation in item.Reservations)
                {
                    var numCourt = reservation.TennisCourt.Number;
                    //if(reservation.Date==chooseDate.Date)
                    //{
                        if(reservation.FinishTime.TimeOfDay>inter.TimeOfDay && reservation.StartTime.TimeOfDay<=inter.TimeOfDay)
                        {
                            if(numCourt==i)
                            {
                                <td class="busy"> @reservation.Customer.Name @reservation.Customer.FirstName </td>
 
                            }
                            else
                            {
                                <td class="free"> @Html.ActionLink("Réserver","Create","ReservationCalendar") </td>
                            }
                        }
                        else
                        {
                            <td class="free"> @Html.ActionLink("Réserver","Create","ReservationCalendar") </td>
                        }
                    //}
                    /*else
                    {
                         <td class="free"> @Html.ActionLink("Réserver","Create","ReservationCalendar") </td>
                    }*/
                    }
                }
        </tr>
        inter=(inter.AddMinutes(30));
    }
  }
</table>

Donc juste au dessus (dans le razor) j'aimerais récupérer la valeur de mon picker tout au dessus... Je suis bien sûr conscient que javascript est orienté client et razor serveur, mais malgré cela est-ce possible de récupérer la date sélectionné par le user ? Ou existe-t-il une astuce ? (passer par le contrôleur par exemple)

Merci d'avance et bonne journée