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 :

Comment fermer dialogue depuis vue partielle (parent / enfanrt) [Débutant]


Sujet :

ASP.NET MVC

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur aéronautique
    Inscrit en
    Octobre 2018
    Messages
    216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur aéronautique

    Informations forums :
    Inscription : Octobre 2018
    Messages : 216
    Points : 30
    Points
    30
    Par défaut Comment fermer dialogue depuis vue partielle (parent / enfanrt)
    Bonjour,

    Je développe sous ASP.NET Framework 4.8 et je bloque quelque peu.

    J'ai ma page _Partial.cshtml qui affiche un tableau de données (je simplifie quelque peu, car j'ai une mise en forme assez avancée avec chargement dynamique en AJAX notamment).
    Je souhaiterais modifier les lignes du tableau dans une fenêtre de dialogue.

    J'ai implémenté le code du dialogue dans un fichier à part _Edit.cshtml (histoire de mettre un peu d'ordre), mais le "template" (header, avec boutton pour réduire, agrandire, etc.) du dialogue est implémenté dans _Partial.cshtml.


    _Partial.cshtml

    Code CSHTML : 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
    <div class="item">
        <table id="fields">
            <!-- ... -->
        </table>
    </div>
     
    <div id="edit-dialog-overlay" class="modal-overlay">
     
        <!-- Template -->
        <div id="edit-dialog" class="modal-content container-vertical">
     
            <div class="modal-header container-horizontal column-gap-narrow item">
                <span id="minimize" class="icon pushed-right item">&#xE949;</span>
                <span id="maximize" class="icon item">&#xE739;</span>
                <span id="restore"  class="icon item">&#xE923;</span>
                <span id="close"    class="icon item">&#xE106;</span>
            </div>
     
            <div class="modal-body item">
                @Html.Partial("~/Views/Fields/_Edit.cshtml", Model.Field)
            </div>
     
        </div>
     
    </div>

    Dans le dialog _Edit.cshtml, j'ai notamment les boutons Validate et Cancel. Comment est-il possible de fermer le dialogue (ou plus exactement le masquer) lorsque Cancel est cliqué (ça se ferme par contre très bien lorsque je clique sur la croix du "template" du dialogue) ?

    Code JavaScript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $('#cancel').click(function (event) {
     
        event.preventDefault();
     
        // Parent view.
        $('#edit-dialog-overlay').css('hide');
    });

    #edit-dialog-overlay appartient à _Partial.cshtml, mais ne semble pas être "connu" dans la vue enfant _Edit.cshtml.

    Ps : je suis entrain d'apprendre l'utilisation de signalR pour des communications full-duplex (bon OK, je mélange un peu tout), mais ça me semble quand même un peu être l'artillerie lourde pour "ricocher" (via le contrôlleur) d'une vue à une autre...

    Merci

  2. #2
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 124
    Points : 55 929
    Points
    55 929
    Billets dans le blog
    131
    Par défaut
    Salut.

    Je ne comprends déjà pas l'idée d'avoir une mise en forme qui dépend d'un ajax puisque ajax devrait normalement se détacher de la mise en forme

    ajax, c'est amener des données du serveur dans une mise en forme côté client. Dans ce contexte, on ne peut pas avoir une mise en forme qui dépend d'ajax...

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur aéronautique
    Inscrit en
    Octobre 2018
    Messages
    216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur aéronautique

    Informations forums :
    Inscription : Octobre 2018
    Messages : 216
    Points : 30
    Points
    30
    Par défaut
    Effectivement, c'est 2 choses distinctes, d'un côté le AJAX et de l'autre côté la mise en forme (même si je structure quand même la mise en forme côté serveur). C'était juste pour illustrer le programme.
    En fait, sans passer par AJAX (et, j'ai encore pas mal de choses à peaufinner), je me retrouvais avec un fichier html généré de 20 Mo !!

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur aéronautique
    Inscrit en
    Octobre 2018
    Messages
    216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur aéronautique

    Informations forums :
    Inscription : Octobre 2018
    Messages : 216
    Points : 30
    Points
    30
    Par défaut
    C'est bon, ça fonctionne impec' !! Juste un p'tit loupé dans le jQuery : $('#edit-dialog-overlay').hide(); et non $('#edit-dialog-overlay').css('hide');

  5. #5
    Nouveau membre du Club
    Inscrit en
    Mai 2011
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Mai 2011
    Messages : 29
    Points : 35
    Points
    35
    Par défaut
    merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [ASP.NET MVC] Codebehind d'une vue partielle
    Par Nadd dans le forum ASP.NET
    Réponses: 2
    Dernier message: 02/10/2009, 13h59
  2. [jQuery]Lancer une boite de dialog depuis php
    Par Nikowa dans le forum jQuery
    Réponses: 2
    Dernier message: 13/08/2009, 16h49
  3. Réponses: 2
    Dernier message: 16/06/2008, 23h42
  4. [Spring]Récupérer l'attribut de Controller depuis vue JSP
    Par ran_hery dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 29/03/2006, 13h39
  5. Récupération depuis données partielles
    Par poussinphp dans le forum Langage SQL
    Réponses: 7
    Dernier message: 20/09/2005, 17h01

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