none
Lister sa navigation d'une DB à la MasterPage RRS feed

  • Discussion générale

  • Bonjour,

     

    j'ai un petit soucis avec la conception de mon site web.

    En effet. j'ai créer une base de donnée ayant mes données de navigation: id, titre, description

     

    Je souhaite y afficher ces données dans ma master page via le code suivant:

     

    Controller (J'utilise le modele MVC):

    private NavigationEntities _entities = new NavigationEntities();
        //
        // GET: /Navigations/
    
        public ActionResult Index()
        {
          var listingNav = (from c in _entities.sys_navigations
                      select c).FirstOrDefault();
    
          return View(listingNav);
        }
    

    et dans ma MasterPage:

     

     <div id="menu">
      <ul>
      <% foreach (var item in Model) { %>
        <li><a href="<% item.Titre %>" title="<% item.Description %>" class="link_menu"><% item.Titre %></a></li>
      <% } %>
      </ul>
     </div>
    

    Evidemment, je vois deja là plusieurs problème, tel que le ActionResult dans mon controller, et dans ma masterPage qui n'y est pas lié, ainsi que la boucle qui ne correspond pas aux données du controller, mais je ne vois pas comment résoudre ces cas.

     

    Sauriez-vous m'aider?

     

    D'avance je vous remercie de l'attention porté à mon message.

     

    Meilleures salutations

    mercredi 8 septembre 2010 16:02

Toutes les réponses

  • Bonjour,

    Dans le View vous devez déclarez le type du Model :

    <%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<MonTypeObjet>" %>
    

    Où MonTypeObjet est le type de votre entité que vous récupérez dans votre requête.

    Est-ce que cela répond à votre question ?

    Cordialement


    Gilles TOURREAU - MVP C# - MCTS ADO .NET 3.5 - MCPD Windows Developper 3.5 - Architecte .NET/Consultant/Formateur - http://gilles.tourreau.fr
    vendredi 10 septembre 2010 15:32
    Modérateur
  • Bonjour,

     

    Kiwi-ch, je vous prie de nous confirmer si la solution de M. Tourreau vous convient et si nous pouvons fermer ce thread.

     

    Cordialement,

    Alex

    ________________

    Publiez un article sur une de ces technologies : Visual Basic, C#, C++, .NET, ASP.NET, SQL Server, Silverlight, SharePoint 2010, SharePoint 2007

    Astuces pour Visual Studio 2010

    XNA – Développement jeux vidéo

    Didacticiels et astuces : VB.NET, C#, ASP.NET, .NET Framework, Silverlight, Workflow Foundation, WPF

    Café des usages

    Microsoft propose ce service gratuitement, dans le but d'aider les utilisateurs et d'élargir les connaissances générales liées aux produits et technologies Microsoft. Ce contenu est fourni "tel quel" et il n'implique aucune responsabilité de la part de Microsoft.

     

     

    lundi 13 septembre 2010 08:02
  • Bonjour,

     

    je reviens vers vous pour le problème qui avait été résolu.

     

    Ici, mon soucis, car le projet à été recommencer, est pour mes articles:

     

    <%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<SwissNode.Models.Articles>" %>
    
    <asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
    	<% Model.Titre %>
    </asp:Content>
    
    <asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
    
      <% Model.Article %>
    
    </asp:Content>
    
    <asp:Content ID="Content3" ContentPlaceHolderID="Title" runat="server">
    <% Model.Titre %>
    </asp:Content>
    

    avec le homeController:

    using SwissNode.Models;
    
    namespace SwissNode.Controllers
    {
      public class HomeController : Controller
      {
        private SwissNodeDBEntities _entities = new SwissNodeDBEntities();
    
        public ActionResult Index()
        {
          var r = (from c in _entities.Articles
               where c.Page == "Accueil"
               select new
               {
                 Titre = c.Titre,
                 Description = c.Description,
                 Article = c.Article
               }).ToList();
    
          return View(r);
        }
      }
    }
    
    

    Comme vous le voyez, j'essaie de retourné la liste de mes articles dont la page est équivallente à "Accueil". Cependant, dans mon aspx, j'ai l'erreur suivante:

     

    String Articles.Titre

    Aucune documentation sur les métaonnées n'est disponible

    Erreur:

    Seuls une assignation, un appel, un incrément, un décrément et des expressions d'objet new peuvent être utilisés comme instruction.

     

    Sauriez-vous m'aider?

     

    Meilleures salutations

    mardi 14 septembre 2010 20:15
  • Bonjour,

     

    Quelle est l’instruction qui donne cette erreur dans votre application ?

     

    Cordialement,

    Alex

    ________________

    Publiez un article sur une de ces technologies : Visual Basic, C#, C++, .NET, ASP.NET, SQL Server, Silverlight, SharePoint 2010, SharePoint 2007

    Windows Phone 7

    Astuces pour Visual Studio 2010

    XNA – Développement jeux vidéo

    Didacticiels et astuces : VB.NET, C#, ASP.NET, .NET Framework, Silverlight, Workflow Foundation, WPF

    Café des usages

    Microsoft propose ce service gratuitement, dans le but d'aider les utilisateurs et d'élargir les connaissances générales liées aux produits et technologies Microsoft. Ce contenu est fourni "tel quel" et il n'implique aucune responsabilité de la part de Microsoft.

     

     

    jeudi 16 septembre 2010 08:43