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 :

Recuperation Element selectionn� Dropdownlist dans vue


Sujet :

ASP.NET MVC

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    17
    D�tails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2011
    Messages : 17
    Par d�faut Recuperation Element selectionn� Dropdownlist dans vue
    Bonjour,
    Je travaille en MVC3
    Pour le moment, dans ma vue, j'ai un menu contenant plusieurs
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <table style="margin-left:300px;position: absolute;margin-top: 75px;">
            @Html.Label("Niveau secondaire:")
            @Html.DropDownList("LevelSec", (SelectList)ViewData["LevelSec"], this.TempData.Peek("levelSec").ToString(), new
       {
           onchange = "document.getElementById('TheForm').submit();"
       })
        </table>
    Avec cette m�thode je recupere dans le controleur la valeur de la dropDownList.
    Mais j'ai ajouter un bouton :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    @Html.ActionLink("Afficher le graph", "Detail", new { Id = 1 }, new
            {
                id = "LienDetail",
                rel = Url.Action("DetailJson", new
                {
                    ...
                    LevelSec = this.TempData.Peek("levelSec").ToString()
                })
            })
    Mais forcement de cette maniere j'ai toujours les memes variables (celles qui ont �t� transmises par le controleur).
    Mon but c'est dans l'actionLink j'envoie les donn�es selectionn�es des DropDownList.
    Merci de m'aider, j'imagine que �a doit pas etre bien compliquer mais j'ai pas trouv� de sujet dans ce genre. :s

  2. #2
    Membre chevronn�
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Avril 2008
    Messages
    231
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2008
    Messages : 231
    Par d�faut
    Bonjour,

    Pourquoi n'utilises tu pas le syst�me normale, avec Html.Begin ? qui va te retourner vers ton Action indiqu� avec des donn�es structur�es.
    Sinon tu dois le faire en JS � la main c'est � dire que tu dois pr� construire ton URL avec Url.Action (blabla), que tu viens manipuler en JS genre

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
    var url = "<% Url.Action %>";
    url += "?LeveSec="+$("LeveSec").value;
    Attention le code que j'ai mis n'est pas bon c'est juste un exemple.

    cordialement,

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    17
    D�tails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2011
    Messages : 17
    Par d�faut
    Citation Envoy� par morgand Voir le message
    Bonjour,

    Pourquoi n'utilises tu pas le syst�me normale, avec Html.Begin ? qui va te retourner vers ton Action indiqu� avec des donn�es structur�es.
    Sinon tu dois le faire en JS � la main c'est � dire que tu dois pr� construire ton URL avec Url.Action (blabla), que tu viens manipuler en JS genre

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
    var url = "<% Url.Action %>";
    url += "?LeveSec="+$("LeveSec").value;
    Attention le code que j'ai mis n'est pas bon c'est juste un exemple.

    cordialement,
    Mais apres comment je recupere mes valeurs, l� j'avais deja mis mon menu dans un Html.BeginForm (mais j'aivais pas vu que je pouvait directement les lier avec des div)
    Merci en tous cas

  4. #4
    Membre chevronn�
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Avril 2008
    Messages
    231
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2008
    Messages : 231
    Par d�faut
    Maintenant tu as le choix, dans un premier temps dans l'action que tu rappelles, tu ajoutes dans les param�tres "String LeveSec" et tu v�rifies :
    string.isNullOrEmpty(LeveSec) avant pour �viter les NullPointer et normalement tu auras la valeurs dans ta variable (il faut que le nom de la variable dans URL porte le m�me nom que dans les param�tres de l'action)

    Deuxi�me solution, qui repose sur le m�me principe de mapping des param�tres, tu as un Model qui est pass� en param�tre de ton action qui contient une propri�t� portant le m�me nom :

    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
     
     
    public class MaProperty
    {
        public string LeveSec
        {
             get;set;
        }   
    }
     
    public class MonController
    {
            public ActionResult MonAction(MaProperty p_MonLevelSec)
            {
                   if(p_MonLevelSec!=null && string.isNullOrEmpty(p_MonLevelSec.LeveSec)) 
                   {
                            blabla....
                    }
             }
    }
    Mais essaye d�j� la premi�re solution la seconde dans un second temps ...

  5. #5
    Membre chevronn�
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Avril 2008
    Messages
    231
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2008
    Messages : 231
    Par d�faut
    Que veux tu faire exactement ? Es ce que tu cherches � structurer ta donn�s sous format JSON ? es ce que tu veux juste qu'elle passe dans l'URL ?

    Dans le premier cas (pour l'avoir fait) il faut rajouter un framework externe car de base .NET ne traite pas comme �a le JSON.

    Pour le second tu n'as pas besoin du JSON. Apr�s tu peux envoyer en GET et retourner du JSON. Attention tu risques d'avoir un message de s�curit� disant que des informations en GET en Ajax.

  6. #6
    Membre averti
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    17
    D�tails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2011
    Messages : 17
    Par d�faut
    Citation Envoy� par morgand Voir le message
    Maintenant tu as le choix, dans un premier temps dans l'action que tu rappelles, tu ajoutes dans les param�tres "String LeveSec" et tu v�rifies :
    string.isNullOrEmpty(LeveSec) avant pour �viter les NullPointer et normalement tu auras la valeurs dans ta variable (il faut que le nom de la variable dans URL porte le m�me nom que dans les param�tres de l'action)

    Deuxi�me solution, qui repose sur le m�me principe de mapping des param�tres, tu as un Model qui est pass� en param�tre de ton action qui contient une propri�t� portant le m�me nom :



    Mais essaye d�j� la premi�re solution la seconde dans un second temps ...
    Merci pour ta reponse, c'est ce que j'avais l'intention de faire, mais pour le moment mon probleme vient du fait que je n'axede pas � mon controlleur...
    Je crois pas que mon Url.Action soit interpreter...

  7. #7
    Membre chevronn�
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Avril 2008
    Messages
    231
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2008
    Messages : 231
    Par d�faut
    Alors nous ce que nous avions fait comme �a :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
     
    JAVASCRIPT : 
     
    function getUrlDetailJSON()
    {
         return "<%= Url.Action("DetailJSON","MonController", new {area="MyArea"}) %>";
    }
    Alors deux choses, <%= ce n'est pas un deux points mais bien un �gale pour des raisons d'interpr�tation je pense. la seconde c'est que ton URL tu peux la voir et v�rifier qu'elle fonctionne, et tu peux sortir ton code JS dans un fichier externe.

  8. #8
    Membre averti
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    17
    D�tails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2011
    Messages : 17
    Par d�faut
    Citation Envoy� par morgand Voir le message
    Bonjour,

    Pourquoi n'utilises tu pas le syst�me normale, avec Html.Begin ? qui va te retourner vers ton Action indiqu� avec des donn�es structur�es.
    Sinon tu dois le faire en JS � la main c'est � dire que tu dois pr� construire ton URL avec Url.Action (blabla), que tu viens manipuler en JS genre

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
    var url = "<% Url.Action %>";
    url += "?LeveSec="+$("LeveSec").value;
    Attention le code que j'ai mis n'est pas bon c'est juste un exemple.

    cordialement,
    Finalement je le fais en javascript,
    J'ai mis �a :
    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
     
    <script type="text/javascript">
            jQuery(document).ready(function () {
                jQuery("a[id^=LienDetail]").click(function (e) {
                    e.preventDefault();
                    var env = "test";var cli = "test";var typ = "test";var app = "test";var lp = "test";var ls = "test";
                    if ($("Env").value != "") { var env = $("Env").value; }
                    if ($("Client").value != "") var cli = $("Client").value;
                    if ($("Type").value != "") var typ = $("Type").value;
                    if ($("Appli").value != "") var app = $("Appli").value;
                    if ($("LevelPri").value != "") var lp = $("LevelPri").value;
                    if ($("LevelSec").value != "") var ls = $("LevelSec").value;
                    var url = "<% Url.Action(\"DetailJson\", new{?Env =" + env + ",?Client = " + cli + ",?Type =" + typ + ",?Appli =" + app + ",?LevelPri =" + lp + ",?LevelSec =" + ls + "})) %>";
                    var url = jQuery(this).attr("rel");
                    jQuery.getJSON(url, function (data) {
                        dataFilter = true;
                        var jsonData = data.JsonData;
                        for (var jd in jsonData) {
                            alert(jd.high);
                        }
                        var priceData = data.JsonPriceData;
                        var volumeData = data.JsonVolumeData;
                        var summaryData = data.JsonSumaryData;
                        var flagData = data.JsonFlagData;
                    });
                    document.getElementById('body-container').innerHTML = '<div id="humblefinance" style="position: relative; margin: 40px 0px; width: 600px; border: 1px solid #99CCFF;";></div>';
                });
            });
        </script>
    Mais il ne va pas dans la fonction DetailJson du controlleur.
    J'appel mal l'URLAction?
    Merci en tous cas au mois maintenant je vois les valeurs.

Discussions similaires

  1. R�ponses: 2
    Dernier message: 23/05/2010, 15h27
  2. recuperer l'index de l'element selectionne� dans liste deroulante
    Par moukit233 dans le forum G�n�ral JavaScript
    R�ponses: 1
    Dernier message: 05/08/2009, 17h02
  3. [Dojo] R�cup�rer le dom node de l'element selectionn� dans le tree dojo
    Par moukit233 dans le forum Biblioth�ques & Frameworks
    R�ponses: 1
    Dernier message: 06/07/2009, 20h08
  4. compter les éléments sélectionné dans un tag select
    Par lemmings dans le forum G�n�ral JavaScript
    R�ponses: 2
    Dernier message: 20/04/2006, 14h07
  5. [VB6] [FileListBox] Récupérer les éléments sélectionnés
    Par tomnie dans le forum VB 6 et ant�rieur
    R�ponses: 5
    Dernier message: 22/10/2002, 09h11

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