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 Discussion :

Sitemap et masterpage


Sujet :

ASP.NET

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    208
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 208
    Par défaut Sitemap et masterpage
    Bonjour a tous,

    J'ai une masterpage qui me sert a avoir le layout général de mes pages. J'y ai donc intégré le composant menu qui se charge a partir du Web.Sitemap.

    Le contenu du Web.sitemap est bel et bien chargé mais lorsque je clic sur un lien, il ne fait qu'un refresh de la page et ne va pas a l'URL souhaitée!

    Dans la masterpage:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <div id="navigation" class="navigation">
            <asp:Menu ID="Menu1" runat="server" DataSourceID="SiteMapDataSource1" Orientation="Horizontal">
                <DataBindings>
                    <asp:MenuItemBinding DataMember="SiteMapNode" />
                </DataBindings>
            </asp:Menu>
            <asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" 
                ShowStartingNode="False" />
        </div>
    dans le Web.sitemap:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?xml version="1.0" encoding="utf-8" ?>
    <siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
      <siteMapNode>
        <siteMapNode url="~/Website/Default.aspx" title="Home">
        </siteMapNode>
     
        <siteMapNode title="Administration">
          <siteMapNode url="~/Website/Admin/AccountManagement.aspx" title="Account management"  />
          <siteMapNode url="~/Website/Admin/RoleManagement.aspx" title="Role management"  />
        </siteMapNode>
     
      </siteMapNode>
     
    </siteMap>
    Je ne comprend pas pourquoi. Pouvez vous m'aider?

    Merci

  2. #2
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    Peut être un problème de droit sur les pages cibles

  3. #3
    Membre Expert
    Avatar de Nicolas Esprit
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Février 2010
    Messages
    1 467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 1 467
    Par défaut
    Bonjour,

    Un petit tour sur la doc MSDN de MenuItemBindind indique ceci :

    When the Menu control is bound to a SiteMapDataSource control, menu item bindings have no effect. Binding is performed automatically using the site map provider.
    Tu as un exemple d'utilisation ici.

    En espérant t'avoir aidé.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    208
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 208
    Par défaut
    Merci beaucoup pour l'exemple. Il m'a effectivement été utile.


    [EDIT] Dsl mais en fait, le problème est partiellement résolu. Sur la page default.aspx, ca fonctionne, je clic sur un item et suis mené a Admin/roleManagement.aspx

    mais une fois sur cette page, plus de menu déroulant. Seulement le "Home" et "Administration"... Je peux néanmoins cliquer sur "Home" pour qu'il me ramène a la page default.aspx.

    En gros, il ne m'affiche plus que le premier niveau.


    [Edit2] ça s'est résolu tout seul par après O_o

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    208
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 208
    Par défaut
    Finalement la résolution du problème n'est que partielle.

    J'ai remarqué que pour certaines pages, le menu ne se déroulait plus.

    Exemple:
    contenu du sitemap:
    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
     
    <?xml version="1.0" encoding="utf-8" ?>
    <siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
      <siteMapNode>
        <siteMapNode url="~/Website/Default.aspx" title="Home">
        </siteMapNode>
     
        <siteMapNode title="Management">
          <siteMapNode url="~/Website/Management/CarrierManagement.aspx" title="Carrier and phonebook"  />
          <siteMapNode url="~/Website/Management/LoadManagement.aspx" title="Load management"  />
          <siteMapNode url="~/Website/Management/LoadTemplateManagement.aspx" title="Load template management"  />
          <siteMapNode url="~/Website/Management/CountryGrpManagement.aspx" title="Country group management"  />
        </siteMapNode>
     
        <siteMapNode title="Administration">
          <siteMapNode url="~/Website/Admin/AccountManagament.aspx" title="Account management"  />
          <siteMapNode url="~/Website/Admin/RoleManagement.aspx" title="Role management"  />
        </siteMapNode>
     
      </siteMapNode>
    </siteMap>
    sur les pages Home, Management/CarrierManagement et Administration/AccountManagament tout fonctionne très bien.

    par contre, sur les autres pages, je ne vois que Home, Management, Administration. Management et Administration ne se déroulent plus. Il m'est néanmoins possible de cliquer sur Home pour revenir à la page d'accueil.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    208
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 208
    Par défaut
    Pour ce qui est de mon problème, comme je le disais, il ne survient que sur certaines pages.

    J'ai vérifié la console d'erreur, rien... Cela pourrait-il venir d'une balise manquante (style un div non fermé)? Existe t'il des addons firefox pour le dév ASP qui pourraient m'aider à vérifier le code généré?

    Merci de m'aider.. je patauge avec ce satané Sitemap

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    208
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 208
    Par défaut
    En cherchant ligne a ligne ce qui causait mon soucis, j'en suis arrivé a determiner que sans la ligne suivante, le menu fonctionnait très bien.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ClientScript.RegisterStartupScript(this.GetType(),"MyScript2", "<script language=javascript src='javascript/LoadManagement.js'>");
    le fichier javascript contient le code suivant:
    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
    //Select all items in a list box before validating the form.
    function selectListBoxAll(source1, hidden_bt_name) {
        var Sellistbox = document.getElementById(source1);
     
        if (Sellistbox != null) {
            for (len = 0; len < Sellistbox.options.length; len++) {
                Sellistbox.options[len].selected = true;
            }
     
            document.getElementById(hidden_bt_name).click();
        }
    }
     
    function checkCarrier(id) {
        // On récupère tous les éléments portant le nom : nom
        var boutons = document.getElementsByName("rd_carrier");
        for(b in boutons)
        {
            if(b.value==id)
            {
                b.checked = true;
                break;            
            }
        }
     
    }
    Aucune erreur javascript n'est detectée dans la console d'erreur.



    [EDIT] : La balise <script> n'etait pas fermée -_-'... ca a reglé mon pb sur cette page, je verifie sur les autres si c'est le même soucis)



    tout est ok, c'était bien cela depuis le début. c'en est a

    Merci pour votre aide néanmoins

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

Discussions similaires

  1. MasterPage et référencement et SiteMap
    Par Pelote2012 dans le forum Référencement
    Réponses: 4
    Dernier message: 05/06/2013, 13h24
  2. [Google] Sitemaps ? Avez vous déja testé ?
    Par ePoX dans le forum Référencement
    Réponses: 6
    Dernier message: 10/01/2007, 22h37
  3. [VB.Net][2.0] Menu et MasterPage
    Par Cyrilange dans le forum ASP.NET
    Réponses: 1
    Dernier message: 28/12/2005, 12h23
  4. [Cocoon] Agencement des pipelines dans le sitemap ?
    Par rozwel dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 13/03/2005, 19h17

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