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 :

Code asp et vb.net ( action ) [Débutant]


Sujet :

ASP.NET

  1. #1
    Membre éprouvé Avatar de thierry007
    Homme Profil pro
    Autodidacte
    Inscrit en
    Août 2006
    Messages
    876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 876
    Par défaut Code asp et vb.net ( action )
    Bonjour à tous ( et bonne année )

    voici le code qui me donne le background de mon header dans le site
    (rien d'extraordinaire)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <td class="auto-style20" style="background-position: center center; background-image: url('/Images/FondHeader06.png'); background-repeat: repeat-x;" colspan="4">
    Je souhaiterais modifier le "background-image" via un petit code en vb qui a chaque chargment "load" une image différente via un random du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     Dim ImageNum As Integer
     
                ImageNum = (Int(Rnd() * 10))
               background-image= "~/images/FondHeader" & CStr(CInt(ImageNum)) & ".png"
    quelqu'un aurais une idée la dessus ?
    sachant que j'aurais au préalable une dizaine d'images nommées FondHeaderXX.png'

  2. #2
    Membre éprouvé Avatar de thierry007
    Homme Profil pro
    Autodidacte
    Inscrit en
    Août 2006
    Messages
    876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 876
    Par défaut
    Cela ne donne pas d'erreur mais pas d'affichage du background non plus


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <body>
        <form id="form1" runat="server">
        <div>
           <table cellpadding="0" class="auto-style1">
                <tr>
                    <td class="auto-style20" style="background-position: center center; background-image: url(<%= backgroundImage %>); background-repeat: repeat-x;" colspan="4">
                        <br />
    ...
    ...
    </body>
    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
    Class IsPublic
          Inherits System.Web.UI.MasterPage
          Public backgroundImage As String = "FondHeader01.png"
     
          Private Sub Page_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load, Me.Load
                    End Sub
     
          Private Sub RandomImages()
                Dim ImageNum As Integer
                Dim css As HtmlGenericControl = New HtmlGenericControl()
                Dim ImageUrl As String
                css.TagName = "style"
                css.Attributes.Add("type", "text/css")
     
                ImageNum = (Int(Rnd() * 10))
                ImageUrl = "~/images/FondHeader" & CStr(CInt(ImageNum)) & ".png"
     
                css.InnerHtml = "@body{background-image: url(" + ImageUrl + ");}"
     
                Page.Header.Controls.Add(css)
     
          End Sub
     
    End Class

  3. #3
    Membre Expert

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    2 067
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 2 067
    Par défaut
    Rien de plus simple tu ajoute un attribut runat server et un id à ta balise pour pouvoir modifier le style en code (exemple en c#):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <table border="0" cellpadding="0" cellspacing="0">
            <tr>
                <td runat="server" id="tdBackground">
                </td>
            </tr>
        </table>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
       tdBackground.Style[HtmlTextWriterStyle.BackgroundImage] = "toto.jpg";

  4. #4
    Membre éprouvé Avatar de thierry007
    Homme Profil pro
    Autodidacte
    Inscrit en
    Août 2006
    Messages
    876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 876
    Par défaut
    ceci alors ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <body>
        <form id="form1" runat="server">
        <div>
           <table cellpadding="0" class="auto-style1">
                <tr>
                    <td id="tdBackground" class="auto-style20" style="background-position: center center; background-repeat: repeat-x;" colspan="4">
                        <br />
    Mais alors ici j'ai un problème de déclaration

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
      Private Sub RandomImages()
                Dim ImageNum As Integer
                Dim ImageUrl As String
     
     
     
                ImageNum = (Int(Rnd() * 10))
                ImageUrl = "~/images/FondHeader" & CStr(CInt(ImageNum)) & ".png"
     
                tdBackground.Style(HtmlTextWriterStyle.BackgroundImage) = ImageUrl
     
     
     
          End Sub

  5. #5
    Membre émérite
    Homme Profil pro
    Architecte technique
    Inscrit en
    Septembre 2005
    Messages
    462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 462
    Par défaut
    Il manque :
    Sur ta balise <td>

  6. #6
    Membre éprouvé Avatar de thierry007
    Homme Profil pro
    Autodidacte
    Inscrit en
    Août 2006
    Messages
    876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 876
    Par défaut
    Bonjour katkiller
    Je pense avoir suivi ta directive
    Lors de l'exécution , je n'ai pas d'affichage et pas d'erreur
    mise a part la variable tdbackround qui est soulignée en bleu



    Voici le code ( VB )
    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
    Class IsdPublic
          Inherits System.Web.UI.MasterPage
     
          Private Sub Page_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load, Me.Load
     
                RandomImages()
     
          End Sub
     
          Private Sub RandomImages()
                Dim ImageNum As Integer
                Dim ImageUrl As String
     
                ImageNum = (Int(Rnd() * 10))
                ImageUrl = "~/images/FondHeader" & CStr(CInt(ImageNum)) & ".png"
     
                tdBackground.Style(HtmlTextWriterStyle.BackgroundImage) = ImageUrl
     
          End Sub
     
    End Class

    et la partie html
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <body>
        <form id="form1" runat="server">
        <div>
           <table cellpadding="0" class="auto-style1">
                <tr>
                    <td id="tdBackground" runat="server" class="auto-style20" style="background-position: center;  background-repeat: repeat-x;" colspan="4" >
                        <br />
    ..
    ..
     </tr>
    </table>
     </div>
        </form>
    </body>

  7. #7
    Membre éprouvé Avatar de Joel Pinto Ribeiro
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2011
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 95
    Par défaut
    tu l'appelles à quel moment ta fonction? il faut le faire avant la generation de la page html donc dans le "OnInit" (sinon pour tout ce qui est visuel c'est trop tard notamment dans le load)

  8. #8
    Membre éprouvé Avatar de thierry007
    Homme Profil pro
    Autodidacte
    Inscrit en
    Août 2006
    Messages
    876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 876
    Par défaut
    Bonjour

    Je suis en vb.net

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
         Protected Overrides Sub OnInit(ByVal e As EventArgs)
     
                RandomImages()
     
          End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
      Private Sub RandomImages()
                Dim ImageNum As Integer
                Dim ImageUrl As String
     
                ImageNum = (Int(Rnd() * 10))
                ImageUrl = "~/images/FondHeader" & CStr(CInt(ImageNum)) & ".png"
     
                tdBackground.Style(HtmlTextWriterStyle.BackgroundImage) = ImageUrl
     
          End Sub

  9. #9
    Membre Expert

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    2 067
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 2 067
    Par défaut
    Citation Envoyé par Joel Pinto Ribeiro Voir le message
    tu l'appelles à quel moment ta fonction? il faut le faire avant la generation de la page html donc dans le "OnInit" (sinon pour tout ce qui est visuel c'est trop tard notamment dans le load).
    Bein non la génération du visuel on peut la faire jusqu'au PreRender et surtout il est déconseillé de modifier un composant au moment du OnInit parce qu'il n'est pas complètement chargé (son viewstate est initialisé après).

    Est-tu sur que l'url générée est correcte enlève le ~ notamment.

    Edit: j'ai testé ce morceau de code chez moi et ça marche:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    private void RandomImages()
            {
                int numImage;
                string imageUrl;
                numImage = new Random().Next(1, 5);
                imageUrl = "/images/FondHeader" + numImage + ".png";
                tdBackground.Style[HtmlTextWriterStyle.BackgroundImage] = imageUrl;
            }
    par contre il a fallu que je définisse une taille à la balise td pour voir apparaitre mon fond d'écran comme je n'avait rien dans la balise.

  10. #10
    Membre éprouvé Avatar de Joel Pinto Ribeiro
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2011
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 95
    Par défaut
    Citation Envoyé par youtpout978 Voir le message
    Bein non la génération du visuel on peut la faire jusqu'au PreRender et surtout il est déconseillé de modifier un composant au moment du OnInit parce qu'il n'est pas complètement chargé (son viewstate est initialisé après).

    Ah, j’étais encore sur la première solution que j'avais fournis dans le lien et qui n'utilise pas directement un contrôle Server autant pour moi!

  11. #11
    Membre éprouvé Avatar de thierry007
    Homme Profil pro
    Autodidacte
    Inscrit en
    Août 2006
    Messages
    876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 876
    Par défaut
    Voici le code de la basise TD de la form
    ici pas d'affichage
    Pour info , c'est dans une cellule du tableau que l'image doit s'affichée
    le but étant d'avoir une image différente dans le header a chaque lancement du site



    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
    <body>
        <form id="form1" runat="server">
        <div>
           <table cellpadding="0" class="auto-style1">
                <tr>
                    <td ID="tdBackground" runat="server"  colspan="4" >
                        <br />
                        &nbsp;&nbsp;
                        <asp:ImageButton ID="ImageButton1" runat="server" Height="154px" ImageUrl="~/Images/MonImage1.png" Width="315px" />
                        <br />
                        <br />
                        &nbsp;&nbsp;
                        <asp:Image ID="Image3" runat="server" Height="52px" ImageUrl="~/Images/image2.png" Width="308px" />
                        <br />
                        <br />
                    </td>
                </tr>

  12. #12
    Membre Expert

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    2 067
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 2 067
    Par défaut
    Pourtant le code que je t'ai fournis marche chez moi quand tu inspectes la balise td dans ton navigateur tu vois quoi dedans?

  13. #13
    Membre éprouvé Avatar de thierry007
    Homme Profil pro
    Autodidacte
    Inscrit en
    Août 2006
    Messages
    876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 876
    Par défaut
    Tu veux dire lorsque j'affiche le site?

    la les deux images a droite et un fond blanc


    et si dans l’éditeur ( Fractionner ) lorsque je clique sur la ligne qui contient le code ID=tdBackground" ..., il me marque bien la cellule du tableau qui doit contenir les images

  14. #14
    Membre Expert

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    2 067
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 2 067
    Par défaut
    Est-ce que tu vois la background-image défini dans le style de ta balise?

  15. #15
    Membre éprouvé Avatar de thierry007
    Homme Profil pro
    Autodidacte
    Inscrit en
    Août 2006
    Messages
    876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 876
    Par défaut
    Je devrait retrouvé une ref dans auto-style1 alors ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <body>
        <form id="form1" runat="server">
        <div>
           <table cellpadding="0" class="auto-style1">
                <tr>
                    <td ID="tdBackground" runat="server"  colspan="4" >
                        <br />

  16. #16
    Membre éprouvé Avatar de thierry007
    Homme Profil pro
    Autodidacte
    Inscrit en
    Août 2006
    Messages
    876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 876
    Par défaut
    oups manquait ce bout ci


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     <style type="text/css"> 
            .auto-style1 {
                 width: 100%;
                 border-collapse: collapse;
            }
     
            .auto-style2 {
                text-align: center;
            }

  17. #17
    Membre Expert

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    2 067
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 2 067
    Par défaut
    Je parle dans ton navigateur web sur les navigateur récents tu peux analyser facilement ton html et donc voir le style de chaque balise.

  18. #18
    Membre éprouvé Avatar de thierry007
    Homme Profil pro
    Autodidacte
    Inscrit en
    Août 2006
    Messages
    876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 876
    Par défaut
    oui, effectivement
    dans ce cas il a bien construit une chaine "~/images/FondHeader7.png"
    j'ai aussi essayé sans le ~


    fenêtre de dev dans l'explorateur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     <div>
           <table cellpadding="0" class="auto-style1">
                <tr>
                    <td id="tdBackground" colspan="4" style="background-image:url(~/images/FondHeader7.png);">
                        <br />
                        &nbsp;&nbsp;

  19. #19
    Membre Expert

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    2 067
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 2 067
    Par défaut
    Et tu as quoi comme chemin pour l'image de l'image button par exemple?
    Es-tu sur que le chemin est correct, tu peux tester en mettant l'url de l'image à la suite de l'url de ton site dans la barre d'adresse de ton navigateur.
    Exemple: monsite.fr/images/FondHeader3.png

  20. #20
    Membre éprouvé Avatar de thierry007
    Homme Profil pro
    Autodidacte
    Inscrit en
    Août 2006
    Messages
    876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 876
    Par défaut
    solution trouvée

    En fait les images sont nommées "fondheader01.png"

    donc dans la construction de la chaine:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      tdBackground.Style(HtmlTextWriterStyle.BackgroundImage) = "/images/FondHeader0" & CStr(CInt(ImageNum)) & ".png"
    et non pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      tdBackground.Style(HtmlTextWriterStyle.BackgroundImage) = "/images/FondHeader" & CStr(CInt(ImageNum)) & ".png"
    Merci bien pour le suivis

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. ancien code ASP vers vb.net
    Par Stephane_br dans le forum VB.NET
    Réponses: 0
    Dernier message: 28/09/2012, 15h17
  2. Code ASP.Net dans un code-behind en C#
    Par emaluk dans le forum ASP.NET
    Réponses: 12
    Dernier message: 28/08/2009, 15h44
  3. Réponses: 1
    Dernier message: 10/06/2009, 15h30
  4. Déploiement Site Asp.net (Action personnalisée)
    Par dumber dans le forum ASP.NET
    Réponses: 1
    Dernier message: 23/02/2009, 17h39
  5. Comment convertir mon code ASP et ASP.Net ?
    Par yushkoya dans le forum ASP.NET
    Réponses: 3
    Dernier message: 25/07/2006, 17h24

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