begin process at 2012 02 14 05:30:28
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

ASP.Net

 > NAVIGATION PAR ONGLET ENTIEREMENT PARAMETRABLE

NAVIGATION PAR ONGLET ENTIEREMENT PARAMETRABLE


 Information sur la source

Note :
9 / 10 - par 1 personne
9,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :ASP.Net Source .NET ( DotNet ) Classé sous :onglet, automatique, css, simple, navigation Niveau :Débutant Date de création :02/03/2007 Date de mise à jour :02/03/2007 00:57:50 Vu / téléchargé :16 759 / 772

Auteur : mael94420

Ecrire un message privé
Site perso
Commentaire sur cette source (1)
Ajouter un commentaire et/ou une note

 Description

Quoi de mieux que d'apprendre en participant?
Il est minuit pile et je suis sur cette source depuis 21H. Je vous la propose car j'ai trouver beaucoup de question sur les forum en rapport avec les onglets de navigation mais pas tellement de réponse concrète.

J'ai donc réalisé un objet (VB.NET) qui permet de parametrer le nom des onglets, leur chemin mais aussi de les mettre en evidence grâce à un bon nombre (pas exaustif) de parametre. On peut soit Formater nos onglets à la sauce HTML grâce aux propriétés que j'ai crée soit appeller directement du CSS dans d'autre propriété. Passer par le CSS à l'avantage d'offrir un rollover sur les cellules inactives mais aussi de remplasser ces horrible cellules par de jolies images. :)

Le principe est de generer un tableau HTML en y incorporant ou nom les parametres récupéré grace aux methode.

Cette source est assez simple à utiliser. Je ne met pas tout dans la source ci-dessous donc il est préférable de telecharger la source complete.

Je vous donne juste la liste des methode utilisable et leur utilité.

.Page => Indique la page vers laquelle vous serez rediriger lors du clic sur un onglet. (ATENTION, les parametres ne doivent pas etre ecrit ici, vous devez juste metre "mapage.aspx"). Si cette methode est omise, vous serez rediriger sur la meme page avec les parametres que vous indiquez lors de l'appelle de l'objet onglet.

CSS (N'oubliez pas de faire appelle à votre fichié CSS s'il est indépendant)
.CssTab => Style general du tableau : nom de la classe correspondante
.CssOut => Style des onglets inactifs : nom de la classe correspondante
.CssOver => Style de l'onglet actif : nom de la classe correspondante
.CssRollOver => Style de l'onglet au passage de la souris : nom de la classe correspondante. Cette classe peut etre identique à une des autres.

Style du tableau à onglet
.cellpadding => Bien connu du HTML
.cellspacing => Bien connu du HTML

Style sans le CSS (Si le CSS est présent, c'est le CSS qui prend le dessus)
.TabBorder => Largeur de la bordure du tableau
.CelHeight => Largeur des cellules
.CelWith => Longueur des cellules
.TabBackgroundColor => Couleur de fond du tableau
.CelBorderStyle => A NE PAS UTILISER SI LE CSS EST PRESENT car elle genere la propriété style d'une cellule. Vous renseigner la taille de la bordure (chiffre seulement) puis la couleur hexa précédé de son inséparable #


Mise en page diverse
.LinkAlign => Alignement du liens par rapport aux onglets. (meme mot clef que pour le HTML : left,right,center)
.TabHTMLTitle => Title HTML du tableau
.TabHTMLID => ID du tableau HTML




Source

  • Public Class onglet
  • Public Function MakeOnglet(ByVal MesOnglet As String, ByVal ParamOnglet As String, ByVal CurrentParam As Integer)
  • Dim MonSplit() As String
  • Dim MesParam() As String
  • Dim Redirect As String
  • Dim CssCels As String
  • Dim TabDeb As String = "<table " & HTMLTitleTab & HTMLTitleID & BackgroundColorTab & SpacingTab & PaddingTab & BorderTab & TabStyle & "><tr>"
  • Dim TabFin As String = "</tr></table>"
  • Dim TabContenu As String = ""
  • Dim i As Integer
  • MonSplit = Split(MesOnglet, ";")
  • MesParam = Split(ParamOnglet, ";")
  • 'MsgBox(MonSplit.Length)
  • For i = 0 To MonSplit.Length - 1
  • If CurrentParam = i Then
  • CssCels = "class='" & OverStyle & "'"
  • Redirect = MonSplit(i)
  • Else
  • CssCels = RollOverCss
  • Redirect = "<a href='" & MaPage & "?" & MesParam(i) & "'>" & MonSplit(i) & "</a>"
  • End If
  • TabContenu = TabContenu & "<td " & BorderStyle & AlignLink & CssCels & HeightCel & ">" & Redirect & "</td>"
  • Next
  • Return TabDeb & TabContenu & TabFin
  • End Function
  • 'Quelque exemple de methode à utiliser
  • 'A mettre avant la déclaration des methode dans la classe onglet ;)
  • Dim MaPage As String = ""
  • Dim TabStyle As String = ""
  • Dim OutStyle As String = ""
  • Public Function Page(ByVal Redirect As String)
  • MaPage = Redirect
  • Return MaPage
  • End Function
  • Public Function CssTab(ByVal StyleTab As String)
  • TabStyle = "class='" & StyleTab & "'"
  • Return TabStyle
  • End Function
  • Public Function CssOut(ByVal StyleOut As String)
  • OutStyle = StyleOut
  • Return OutStyle
  • End Function
  • end class
  • 'Cette classe renvoi une chaine que l'on peut aisement associer à un label ou un literal (Cette chaine contient un tableau HTML)
  • 'Pour appeller cet objet,
  • Espace de nom : onglet
  • ...
  • Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
  • Dim MesOnglet As onglet
  • MesOnglet = New onglet
  • MesOnglet.Page("default.aspx")
  • MesOnglet.CssOut("CelOngletOut")
  • MesOnglet.CssOver("CelOngletOver")
  • MesOnglet.CssRollOver("CelOngletOver")
  • 'MesOnglet.MakeOnglet(MesOnglet As String,MesParam as string, CurrentParam as integer)
  • 'Afin d'avoir l'onglet en cours, il suffit de faire :
  • Dim ParamOnglet As Integer
  • Select Case Request.QueryString("codrub")
  • Case "1"
  • ParamOnglet = 0
  • Case "2"
  • ParamOnglet = 1
  • Case "3"
  • ParamOnglet = 2
  • Case "4"
  • ParamOnglet = 3
  • Case "5"
  • ParamOnglet = 4
  • Case Else
  • ParamOnglet = -1
  • End Select
  • Onglet.Text = MesOnglet.MakeOnglet("Onglet 1;Onglet 2;Onglet 3;Onglet 4;Onglet 5", "codrub=1;codrub=2;codrub=3;codrub=4;codrub=5", ParamOnglet)
  • End Sub
  • 'Ensuite, il y a juste a faire un petit code comme celui - ci pour afficher un texte ou autre selon l'inglet en cours.
  • Dim MaListe As String = ""
  • Select Case Request.QueryString("codrub")
  • Case "1"
  • MaListe = "<h1>Vous avez cliquez sur l'onglet 1</h1>"
  • Case "2"
  • MaListe = "<h1>Vous avez cliquez sur l'onglet 2</h1>"
  • Case "3"
  • MaListe = "<h1>Vous avez cliquez sur l'onglet 3</h1>"
  • Case "4"
  • MaListe = "<h1>Vous avez cliquez sur l'onglet 4</h1>"
  • Case "5"
  • MaListe = "<h1>Vous avez cliquez sur l'onglet 5</h1>"
  • End Select
  • MaTable.Text = MaListe
Public Class onglet
    Public Function MakeOnglet(ByVal MesOnglet As String, ByVal ParamOnglet As String, ByVal CurrentParam As Integer)
        Dim MonSplit() As String
        Dim MesParam() As String

        Dim Redirect As String

        Dim CssCels As String


        Dim TabDeb As String = "<table " & HTMLTitleTab & HTMLTitleID & BackgroundColorTab & SpacingTab & PaddingTab & BorderTab & TabStyle & "><tr>"
        Dim TabFin As String = "</tr></table>"
        Dim TabContenu As String = ""

        Dim i As Integer


        MonSplit = Split(MesOnglet, ";")
        MesParam = Split(ParamOnglet, ";")

        'MsgBox(MonSplit.Length)
        For i = 0 To MonSplit.Length - 1
            If CurrentParam = i Then
                CssCels = "class='" & OverStyle & "'"
                Redirect = MonSplit(i)
            Else
                CssCels = RollOverCss
                Redirect = "<a href='" & MaPage & "?" & MesParam(i) & "'>" & MonSplit(i) & "</a>"
            End If

            TabContenu = TabContenu & "<td " & BorderStyle & AlignLink & CssCels & HeightCel & ">" & Redirect & "</td>"
        Next

        Return TabDeb & TabContenu & TabFin

    End Function


'Quelque exemple de methode à utiliser

'A mettre avant la déclaration des methode dans la classe onglet ;)
Dim MaPage As String = ""
Dim TabStyle As String = ""
Dim OutStyle As String = ""

    Public Function Page(ByVal Redirect As String)
        MaPage = Redirect
        Return MaPage
    End Function

    Public Function CssTab(ByVal StyleTab As String)
        TabStyle = "class='" & StyleTab & "'"
        Return TabStyle
    End Function

    Public Function CssOut(ByVal StyleOut As String)
        OutStyle = StyleOut
        Return OutStyle
    End Function

end class

'Cette classe renvoi une chaine que l'on peut aisement associer à un label ou un literal (Cette chaine contient un tableau HTML)

'Pour appeller cet objet, 
Espace de nom : onglet
...
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

    Dim MesOnglet As onglet
    MesOnglet = New onglet

    MesOnglet.Page("default.aspx")
    MesOnglet.CssOut("CelOngletOut")
    MesOnglet.CssOver("CelOngletOver")
    MesOnglet.CssRollOver("CelOngletOver")

    'MesOnglet.MakeOnglet(MesOnglet As String,MesParam as string, CurrentParam as integer)

    'Afin d'avoir l'onglet en cours, il suffit de faire : 
        Dim ParamOnglet As Integer
        Select Case Request.QueryString("codrub")
            Case "1"
                ParamOnglet = 0
            Case "2"
                ParamOnglet = 1
            Case "3"
                ParamOnglet = 2
            Case "4"
                ParamOnglet = 3
            Case "5"
                ParamOnglet = 4
            Case Else
                ParamOnglet = -1

        End Select


    Onglet.Text = MesOnglet.MakeOnglet("Onglet 1;Onglet 2;Onglet 3;Onglet 4;Onglet 5", "codrub=1;codrub=2;codrub=3;codrub=4;codrub=5", ParamOnglet)
End Sub




'Ensuite, il y a juste a faire un petit code comme celui - ci pour afficher un texte ou autre selon l'inglet en cours. 

        Dim MaListe As String = ""
        Select Case Request.QueryString("codrub")
            Case "1"
                MaListe = "<h1>Vous avez cliquez sur l'onglet 1</h1>"
            Case "2"
                MaListe = "<h1>Vous avez cliquez sur l'onglet 2</h1>"
            Case "3"
                MaListe = "<h1>Vous avez cliquez sur l'onglet 3</h1>"
            Case "4"
                MaListe = "<h1>Vous avez cliquez sur l'onglet 4</h1>"
            Case "5"
                MaListe = "<h1>Vous avez cliquez sur l'onglet 5</h1>"
        End Select

MaTable.Text = MaListe

 Conclusion

Je suis donc débutant et quelques petit detail me chagrine.
Par exemple, j'aurais aimé pouvoir ranger les methodes appellé. c'est à dire que pour utiliser les methode CSS j'aurais aimé pouvoir faire
MesOnglet.CSS.CssRollOver au lieu de MesOnglet.CssRollOver actuellement.
Biensur, ceci n'est qu'un detail mais si je rajoute des methodes, on risque de se perdre.

Ensuite ce que je n'arrive pas à réaliser c'est de gerer l'onglet en cours dans mon objet car je ne sais pas comment récupérer le parametre passer dans l'URL puisque Request.QueryString ne veut pas fonctionner dans une classe.

Pour voir un exemple de ce que ca donne, http://www.m-ko.fr/default.aspx

En esperant vous avoir apporter quelque chose.

Cordialement

Mael pour un premier script.

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

02 mars 2007 00:48:50 :
Erreur dans le zip!
02 mars 2007 00:57:50 :
Rajout de mot clef

 Sources de la même categorie

Source avec Zip Source .NET (Dotnet) GUESTBOOK AVEC GRIDVIEW par DanMor498
Source avec Zip CHECKED DROPDOWNLIST par fredzool
Source avec Zip Source avec une capture Source .NET (Dotnet) GRIDVIEW WITH TREEVIEW AND CALLBACK par fredzool
Source avec Zip APPELLER UN WEBSERVICE DEPUIS JAVASCRIPT par fredzool
Source avec Zip Source .NET (Dotnet) MONEY TEXTBOX WITH EMBEDED JAVASCRIPT par fredzool

 Sources en rapport avec celle ci

Source avec Zip GESTION DES SKIN par youdream
Source avec Zip Source .NET (Dotnet) BOUTTON DE NAVIGATION(PREMIER,PRECEDENT,SUIVANT,DERNNIER)AVE... par yassine276
Source avec une capture Source .NET (Dotnet) COMPACTEZ VOS CSS par poppyto
Source avec Zip Source avec une capture Source .NET (Dotnet) COMMENT GÉNÉRER LE WEBCONTROL TABSTRIP TOTALEMENT EN DYNAMIQ... par ryckbosch
Source avec Zip Source .NET (Dotnet) MENU HORIZONTAL EN ASP.NET COMPATIBLE XHTML ET CSS2 par jesusonline

Commentaires et avis

Commentaire de jesusonline le 03/03/2007 19:02:03 administrateur CS

Bonjour, je te conseille de regarder comment fonctionne les controles et surtout comment créer de nouveaux controles, cela resoudra pas mal de problème, notamment le coup de QueryString ;-) et cela te permettra de faire un <uc:onglet id="onglet" plutot que <asp:label id="onglet"

Sinon pour des onglets plus jolis, et plus propres (normal ils ont un poil plus d'experience) on peut utiliser ceux ci : http://ajax.asp.net/ajaxtoolkit/Tabs/Tabs.aspx

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Rangement automatique dans onglet (WebControl / C#) [ par Bubuss ] Salut à tous! J'aurai souhaité que, lorsque j'importe mes webcontrols de ma dll, ces derniers se rangent de manière automatique dans des onglets exist Formulaire de calcul automatique [ par LisbethTheWasp ] Bonjour à tous, Je débute totalement en JavaScript et un client m'a demandé de créer un formulaire de calcul automatique pour l'un de mes sites. Le c Logiciel pour faire du web layout automatique en CSS [ par BrokenArrow29 ] Salut tout le monde, je m'explique, est ce qu'il existe un programme qui permet de faire du web layout genre ce site que je trouve assez bien réussi [html/css] impression de tableau page web avec fichier.css [ par simbabou ] Bonjour Voila, j'ai un fichier .jsp avec un tableau definit dedans en html. Ce tableau est sur deux colonne. Le souci qui ce pose c'est que lors de l problème de compatibilité avec IE au niveau des css [ par abdiallo ] Bonjour, J'ai une application faite avec asp mais les styles (tailles, positions) de balises ne sont pas respectés avec IE alors que sous chrome et mo Function en asp [ par benoure ] Bonjour, j'ai un problème avec ma fonction. elle me retourne False !! [code=aspx] Function affiche_menu() Dim page_actuelle, men, nombre, i probleme avec master pager css [ par faridas ] bonjour Voilà, dans mon application asp.net j'utilise une master page et une css dans ma master j'ai un asp controle Menu et un footer qui sont l déscendre un block css [ par maxo234 ] bonjour, j'apprends le HTML/CSS sur l'SDZ mais je ne trouve plus une balise: je cherche a descendre un texte merci Import db MS SQL sur Serveur Hébergeur à partir d'un ftp [ par Fox91fox ] Bonjour à tous, Je m&#8217;en viens trouver une bonne âme charitable car voilà bien 4 semaines que je cherche en vain le moyen de réaliser un import a Menu CSS et Iframe - Problème d'arrière / avant plan [ par hmcs ] Bonjour, J'ai utilisé un menu CSS pour mon menu déroulant. Jusque là, aucun problème. Par contre, dans une table au centre de mon écran, j'ai un ifra


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,671 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales