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

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    avril 2009
    Messages
    145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Espagne

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : avril 2009
    Messages : 145
    Points : 74
    Points
    74
    Par défaut Accéder à des informations de la base de données dans une vue partielle?
    Bonjour.
    Je dev une application et j'ai un menu dedans. Le menu est une vue partielle menu.ascx et est inclus via le Site.master.
    Alors voila mon souci, je veux avoir un menu dynamique où les boutons s'affichent en fonction du type d'utilisateur.

    Au début j'ai fait ç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
    30
    31
    32
     
    <%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<dynamic>" %>
     
    <li><%: Html.ActionLink("Home", "Index", "Home")%></li>
    <% 
        HttpContext.Current.User.Identity.Name;
        ExtendedMemberShip.MemberShipUser user = ExtendedMemberShip.MemberShip.GetUser(HttpContext.Current.User.Identity.Name);
        string course = "Course/Index/";
        if(user != null) course += user.UserName;
    %>
     
    <% 
        if(user!=null && user.Type == "stud") { 
    %>
    <li><%: Html.ActionLink("Courses", "Index", course)%></li>
    <% 
        }
    %>
     
    <li><%: Html.ActionLink("Votes", "About", "Home")%></li>
    <li><%: Html.ActionLink("Comments", "About", "Home")%></li>
    <li><%: Html.ActionLink("Exam archives", "About", "Home")%></li>
    <li><%: Html.ActionLink("About", "About", "Home")%></li>
     
    <% 
        if (HttpContext.Current.User.IsInRole("Admin"))
        { 
    %>
            <li><%: Html.ActionLink("Admin", "Index", "Account")%></li>
    <% 
        }
    %>
    Le problème c'est qu'ici je fait tout ça dans la vue alors que ça devrait être fait dans un controller... Sauf que je n'ai pas de contrôleur là... bref, comment faire pour m'en sortir???

  2. #2
    Membre expérimenté Avatar de anthyme
    Homme Profil pro
    Inscrit en
    mars 2004
    Messages
    1 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : mars 2004
    Messages : 1 559
    Points : 1 331
    Points
    1 331
    Par défaut
    Il faut créer un actionfilter qui injectera ces données dans le ViewData

    Tu pourras ensuite les récupérer dans ta vue partielle

  3. #3
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    avril 2009
    Messages
    145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Espagne

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : avril 2009
    Messages : 145
    Points : 74
    Points
    74
    Par défaut
    d'accord, j'ai lu le tuto sur asp.net http://www.asp.net/mvc/tutorials/und...ion-filters-cs mais je dois placer ça où au fait?
    Le truc c'est que j'aurais besoin d'accéder à cette info dans ma vue partielle Menu.ascx vu que c'est pour le menu et qu'il est inclus dans le Site.Master.....

  4. #4
    Membre expérimenté Avatar de anthyme
    Homme Profil pro
    Inscrit en
    mars 2004
    Messages
    1 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : mars 2004
    Messages : 1 559
    Points : 1 331
    Points
    1 331
    Par défaut
    sur tous tes controleurs où il y a besoin de ce menu.

Discussions similaires

  1. Réponses: 4
    Dernier message: 25/04/2013, 21h41
  2. insérer des photos de la base de données dans un datareport
    Par melancolie dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 06/09/2010, 11h01
  3. Réponses: 1
    Dernier message: 07/05/2010, 11h09
  4. Réponses: 5
    Dernier message: 10/01/2008, 09h47
  5. Réponses: 5
    Dernier message: 01/12/2006, 11h00

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