IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET MVC Discussion :

Est-ce possible de récupérer une valeur d'un datepicker ui(client) dans la partie "View" (serveur)?


Sujet :

ASP.NET MVC

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2012
    Messages : 47
    Points : 34
    Points
    34
    Par défaut Est-ce possible de récupérer une valeur d'un datepicker ui(client) dans la partie "View" (serveur)?
    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

  2. #2
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Fra212 Voir le message
    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)
    C'est possible et tu as 2 méthodes (peut-être qu'il y en a d'autres mais ce sont celles que j'utilise le plus) :
    • utiliser de l'Ajax (utilise avec jQuery de préférence et surtout bien frotter ) qui appellera une action de ton controlleur qui recevra la valeur saisie par l'utilisateur. C'est pas très joli mais c'est pratique quand il s'agit uniquement d'une à 3 valeurs mais quand il y en trop ça pose problème.
    • utiliser une Vue typée : avec razor tu généres tes champs et veilles à ce qu'ils soient bien mappés aux propriétés de ton Model. Ensuite si l'utilisateur soumet le formulaire, tu auras uniquement à consulter la valeur des propriétés de ton Model pour savoir quelles sont les valeurs saisies par l'utilisateur.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2012
    Messages : 47
    Points : 34
    Points
    34
    Par défaut
    Citation Envoyé par h2s84 Voir le message
    C'est possible et tu as 2 méthodes (peut-être qu'il y en a d'autres mais ce sont celles que j'utilise le plus) :
    • utiliser de l'Ajax (utilise avec jQuery de préférence et surtout bien frotter ) qui appellera une action de ton controlleur qui recevra la valeur saisie par l'utilisateur. C'est pas très joli mais c'est pratique quand il s'agit uniquement d'une à 3 valeurs mais quand il y en trop ça pose problème.
    • utiliser une Vue typée : avec razor tu généres tes champs et veilles à ce qu'ils soient bien mappés aux propriétés de ton Model. Ensuite si l'utilisateur soumet le formulaire, tu auras uniquement à consulter la valeur des propriétés de ton Model pour savoir quelles sont les valeurs saisies par l'utilisateur.

    Merci de ta réponse Donc je viens de transmettre cette valeur à une méthode de mon contrôleur sans problème... Mais comment faire pour récupérer la valeur retournée par la méthode de mon contrôleur dans la View ? Est-ce que tu aurais un exemple à me montrer ?

    Merci beaucoup en tout cas

Discussions similaires

  1. Réponses: 3
    Dernier message: 22/03/2008, 11h48
  2. Réponses: 7
    Dernier message: 28/09/2007, 17h29
  3. Réponses: 2
    Dernier message: 01/04/2007, 17h41
  4. Est-il possible de récupérer une énumération
    Par ProgElecT dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 12/01/2007, 20h28
  5. Est-il possible de sélectionner une valeur d'un menu déroula
    Par pontus21 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 11/05/2005, 09h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo