Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    visualizzare immagini in pagina aspx

    Ciao a tutti,

    devo visualizzare su una pagina aspx delle immagini e per farlo ho usato il codice seguente:

    codice:
    protected void Page_Load(object sender, EventArgs e)
        {
           
                string a;
                string b;
                string b1;
                MySql.Data.MySqlClient.MySqlConnection conn;
                                    string myConnectionString =
                System.Configuration.ConfigurationManager.ConnectionStrings["db_connection"].ConnectionString;
    
    
                conn = new MySql.Data.MySqlClient.MySqlConnection(myConnectionString);
                conn.Open();
    
              
                string sql = " SELECT * FROM images ORDER BY RAND() limit 12";
    
                MySqlCommand cmd = new MySqlCommand(sql, conn);
                MySqlDataReader rdr = cmd.ExecuteReader();
    
    
                while (rdr.Read())
                {
                    //  Response.Write(rdr[0] + " -- " + rdr[1]);
    
                    // converto in stringa il campo del database
                    a = Convert.ToString(rdr["ImageName"]);
    
                    //    Response.Write(Path.GetFileName(@a));
                    b = Convert.ToString(Path.GetFileName(@a));
                    //       Response.Write(Path.GetFileNameWithoutExtension(@a));
                    b1 = Convert.ToString(Path.GetFileNameWithoutExtension(@a));
    
    
                    // stampo sulla pagina il campo del database
                    Response.Write(b);
    
                       Response.Write("<img src=\"images/minithumb/"+b1+".jpg\" />");
                                    }
    
            rdr.Close();
            conn.Close(); 
        }
    Però usando Response.Write mi visualizza le immagini in cima alla pagina, mentre a me

    servirebbero al centro. Come devo fare?

    Grazie anticipatamente

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    116
    Suggerirei di usare le Literal.

    metti nel punto in cui vuoi posizionare l'immagine un controllo <asp:Literal ID="ltlImmagine" runat="server" />

    E a codebehind fai

    ltlImmagine.text = (stringa con i tag html per l'immagine)

    quando fai girare la pagina la Literal sparisce lasciando sulla pagina solo il suo contenuto

  3. #3
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    ...oppure usare il tag apposito <asp:image ... > cambiandogli la proprieta' ImageUrl da codice

  4. #4
    Ciao,

    intanto grazie per le risposte.

    Ho provato a usare le literal, solo che ho un problema: facendo riferimento al codice che ho

    postato, la variabile stringa b1 è il nome dei 12 file immagine senza estensione; non usando

    più la response.write come faccio a far si che tutte le immagini vengano visualizzate?

    Usando una literal sola o anche di più mi si visualizza sempre una sola immagine, perchè in

    b1 non si riescono a distinguere i singoli file (b1 li contiene tutti e 12).

    Allora ho provato con un parsing di stringa, così:

    codice:
    protected void Page_Load(object sender, EventArgs e)
        {
    
            string a;
            string b;
            string b1;
            string b2;
    
            MySql.Data.MySqlClient.MySqlConnection conn;
            // string myConnectionString;
    
    
            //string myConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["db_connection"];
    
            string myConnectionString =
            System.Configuration.ConfigurationManager.ConnectionStrings["db_connection"].ConnectionString;
    
    
            conn = new MySql.Data.MySqlClient.MySqlConnection(myConnectionString);
            conn.Open();
    
            //    string sql = "SELECT * FROM images WHERE ImageCode='1'";
            //      string sql = "SELECT ImageName, MaskName, ImageType FROM images where ImageCode=" + idx;
    
    
            string sql = " SELECT * FROM images ORDER BY RAND() limit 1";
    
            MySqlCommand cmd = new MySqlCommand(sql, conn);
            MySqlDataReader rdr = cmd.ExecuteReader();
    
    
    
    
            while (rdr.Read())
            {
                //  Response.Write(rdr[0] + " -- " + rdr[1]);
    
                // converto in stringa il campo del database
                a = Convert.ToString(rdr["ImageName"]);
    
                //    Response.Write(Path.GetFileName(@a));
                b = Convert.ToString(Path.GetFileName(@a));
                //       Response.Write(Path.GetFileNameWithoutExtension(@a));
                b1 = Convert.ToString(Path.GetFileNameWithoutExtension(@a));
    
    
                // stampo sulla pagina il campo del database
           //     Response.Write(b1);
    
                //       Response.Write("<img src=\"images/minithumb/"+b1+".jpg\" />");
    
                //   Response.Write(rdr["ImageName"]);
                //Response.Write("<img src=\"" + rdr["ImageName"] + "\"/>");
    
    
                char[] sep = new char[4];
    
                sep[0] = '.';
                sep[1] = 'b';
                sep[2] = 'm';
                sep[3] = 'p';
    
                string values = b;
                string[] images = values.Split(sep, 4);
            //    Response.Write(images[0]);
    
    
                for (int i = 0; i <= 3; i++)
                {
                    literal.Text = "<img src=\"images/minithumb/" + images[i] + ".jpg\" />";
    
                }
    
            //    literal.Text = "<img src=\"images/minithumb/" + b1 + ".jpg\" />";
    
            }
    
            rdr.Close();
            conn.Close();
    
        }
    L'intento era separare i nomi dei file immagine sfruttando la sequenza .bmp che li separa e

    poi stampare le 12 immagini dopo aver associato al nome l'estensione .jpg. Così come ho

    fatto non va...Mi potete dare una mano?

    Grazie

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    116
    E' molto semplice:

    Ogni volta che fai Literal.Text = (qualcosa)

    metti (qualcosa) dentro alla literal cancellando tutto ciò che c'era prima

    dunque se fai Literal.Text = b1 la Literal contiene b1 poi però se fai Literal.TExt = b2 non ti devi aspettare che contenga b1 E b2, conterrà solo b2, perchè la proprietà Text è proprio come una variabile di testo, e l'assegnazione cancella il valore precedente.

    Quindi molto semplicemente basta fare Literal.Text = Literal.TExt + (qualcosa)
    così tutto ciò che avevi inserito prima rimane.

  6. #6
    Grazie mille,

    ora le visualizza tutte correttamente.

    Già che sono nell'argomento vi volevo chiedere una cosa: ora che ho visualizzato le 12

    immagini dovrei fare in modo che ciascuna di esse sia un link ad un' altra pagina

    (showimage.aspx) nella quale in alto a sinistra compaia l'immagine stessa e a lato la

    dimensione in Kbyte e il nome, mentre nel resto della pagina ci sono delle caratteristiche da

    poter settare per poi elaborare l'immagine; l'immagine parte come .jpg e quando si passa a

    showimage.aspx dev'essere convertita in .bmp.

    Il mio dubbio è il seguente: per fare tutto questo va bene aver mostrato le immagini con le

    literal o bisognava usare il tag <asp:image ... > o altre cose?

    Lì per lì non ci ho riflettuto, ho usato una delle soluzioni che mi avete proposto senza

    pensare al dopo...

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    116
    E' sufficiente rinchiudere il tag img attorno ad un tag a e, come fosse semplice testo, la tua immagine diventa un link

  8. #8
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Originariamente inviato da Verce
    Quindi molto semplicemente basta fare Literal.Text = Literal.TExt + (qualcosa)
    forma abbreviata: Literal.Text += (qualcosa)




    Cio' che chiedi, per i links:
    codice:
    Literal.Text = "" + (qualcosa).tostring + ""

  9. #9
    Grazie per l'aiuto,

    ho messo a posto anche il link


Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.