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

    problema separazione dall'html del codice c#

    Ciao a tutti,

    sto riscrivendo una pagina asp con aspnet (con c#): tale pagina si connette ad una tabella MySql che contiene 2 colonne, la prima una lista di nomi di database e la seconda un numero (0, database non attivo o 1, database attivo). Io dovrei gestire la situazione in cui non compare neanche un 1 nella seconda colonna: in quel caso la pagina deve diventare così
    codice:
    <title> Home page </title>
    </head>
    <body bgcolor="#EAE9E1" text="#000000">
    <div align="center">
     <h1> ATTENTION, no active database!!! </h1>
    </div>
    </body>
    </html>
    Con asp questo viene gestito con un if-else dentro il codice html: se c'è un record con seconda colonna=1 mostra la pagina completa (vengono mostrate alcune immagini del database attivo), se non c'è nessuna colonna a 1 mostra la stessa pagina ma fatta col codice qui sopra; io uso il codice c# nel code behind...Come posso gestire la cosa?
    Grazie anticipatamente

  2. #2
    Utente di HTML.it L'avatar di GabbOne
    Registrato dal
    Mar 2006
    Messaggi
    577
    lo puoi fare in mille modi ..... cmq quando posti qualcosa in questa sezione ti conviene mettere il codice asp.net (che genera html) e non direttamente l'html almeno per capire come visualizzi i dati a partire dalla query


    ciao

  3. #3
    Ciao GabbOne,

    per prima cosa grazie per avermi risposto. Come mi hai chiesto ecco il codice asp.net della pagina

    in questione
    codice:
    using System;
    using System.Collections;
    using System.Configuration;
    using System.Data;
    using System.Linq;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.HtmlControls;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Xml.Linq;
    using MySql.Data.MySqlClient;
    using System.IO;
    using MySql.Data;
    
    public partial class uploadimages2 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            
            string a;
            string b;
            string b1;
            string dbactive;
    
    
            MySql.Data.MySqlClient.MySqlConnection conn;
    
            string myConnectionString =
            System.Configuration.ConfigurationManager.ConnectionStrings["db_connection1"].ConnectionString;
    
            
            conn = new MySql.Data.MySqlClient.MySqlConnection(myConnectionString);
            conn.Open();
            // recupero il database attivo
            string sql = "SELECT * FROM listadb WHERE active=1";
            //string sql = " SELECT * FROM images ORDER BY RAND() limit 12";
    
            // definisco un comando di lettura dal database
            
            MySqlCommand cmd = new MySqlCommand(sql, conn);
            MySqlDataReader rdr = cmd.ExecuteReader();
    
    
            rdr.Read();
            dbactive = Convert.ToString(rdr["nome"]);
            Session["db_attivo"]=Convert.ToString(rdr["nome"]);
            Response.Write(Session["db_attivo"]+"--");
            Response.Write(dbactive);
    
            rdr.Close();
            conn.Close();
    
            // connessione al database attivo
            MySql.Data.MySqlClient.MySqlConnection conn1;
    
            string myConnectionString1 = string.Format("server=localhost;uid=kingadmin;" +
                "pwd=kpass;database={0};",dbactive);
    
    
            conn1 = new MySql.Data.MySqlClient.MySqlConnection(myConnectionString1);
            conn1.Open();
          
            
            string sql1 = " SELECT * FROM images ORDER BY RAND() limit 12";
    
            
    
            MySqlCommand cmd1 = new MySqlCommand(sql1, conn1);
            MySqlDataReader rdr1 = cmd1.ExecuteReader();
    
            int i = 0;
            string acapo = "";
    
            while (rdr1.Read())
            {
    
    
               ;
    
                // converto in stringa il campo del database
    
                a = Convert.ToString(rdr1["ImageName"]);
                // salvo in una variabile stringa il campo del nome del db attivo
    
                //    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;serve solo
                   come controllo che il campo sia quello corretto
                */
                 Response.Write(a);
    
                if (i==4) 
                {
                    acapo="
    ";
                    i = 0;
                } else
                    {
                        acapo="";
                    }
    
                literal.Text = literal.Text + acapo + "<a href=\"queryform.aspx?src=images/minithumb/" + b1 + ".jpg\" target=_self>"
                                  + "<img border=0 vspace=0 src=\"images/minithumb/"
                                  + b1
                                  + ".jpg\" height=\"100\" />"
                                  + "</a>";
                i = i + 1;
            }  
        }
        
    }
    Come posso fare quello che ho postato nell'altro messaggio?

    Grazie

  4. #4
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Se il risultato con almeno uno 0 è tabellare con il nome del db e delle immagini da esso, con un semplice Gridview ed un controllo nel suo evento _RowDataBound puoi fare la cosa in poche righe di codice

    Domani provo a postarti un esempio.

  5. #5
    Grazie mille

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.