Problema while è hyperlink

venerdì 13 marzo 2009 - 14.56

Anonimo Profilo | Senior Member

SAlve, ho un problema con il while ,tipo che mi viusalizza solo un record invece di visualizzare tutti.
Mi dite come posso fare per visualizzare tutti i record e generare tanti hyperlink da codice?.

ecco i codice:
seleziona_categoria_foto.aspx
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra
seleziona_categoria_foto.aspx.cs
using System; using System.Collections.Generic; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data; using System.Data.Odbc; using System.Configuration; public partial class admin_foto_seleziona_categoria_foto : System.Web.UI.Page { String connectionString = ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString; protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { try { lblMsg.Text = ""; string stringCat = Request.QueryString["cat"]; string tgroup = "IMAGES"; string strId = Request.QueryString["NewsId"]; OdbcConnection objConn = new OdbcConnection(connectionString); string sSQL = "SELECT * FROM category WHERE cGroup='" + tgroup + "'"; objConn.Open(); DataSet dt = new DataSet(); OdbcCommand objCommand = new OdbcCommand(sSQL, objConn); OdbcDataAdapter da = new OdbcDataAdapter(objCommand); OdbcDataReader rdr = objCommand.ExecuteReader(); while (rdr.Read()) { Sezione.NavigateUrl = "javascript:save('" + rdr["cName"].ToString() + "');"; Sezione.Text = "" + rdr["cName"].ToString() + ""; } objConn.Close(); } catch (Exception ex) { lblMsg.Text = "" + ex.ToString() + ""; } } } }

balfaz Profilo | Expert

non hai pensato d'usare un controllo repeater, ti farebbe risparmiare tempo e righe di codice, guarda un po questo link
http://www.aspcode.it/articoli/articoli.asp?act1=show_art&idx=99

Dove troverai sempre una mano disposta ad aiutarti è nell'estremo del tuo proprio braccio

ysdemarc Profilo | Expert

Sezione suppongo sia un HiperLynk...

da quello che hai scritto scrivi sempre sullo stesso oggetto.. e alla fine non vedi altro che l'ultimo dei tuoi record...

dovresti o utlizzare un repeater come dice il post prima del mio (ma io non lo conosco)

oppure lasciando questo codice e scrivere il ciclo while in questo modo e prima inserire al posto del tuo oggetto Sezione nella pagina
un oggetto table che ti fa da contenitore.

quindi supposto che table1 è il tuo tag asp table

while (rdr.Read())
{

TableRow tr = new TableRow ();
TableCell tc = new TableCell();

HyperLink sezione = new HyperLink();
sezione.NavigateUrl = "javascript:save('" + rdr["cName"].ToString() + "');";
sezione.Text = "" + rdr["cName"].ToString() + "";

tc.Controls.Add(sezione);
tr.Cells.Add(tc);
table1.Rows.Add(tr)

}


ciao

Vincenzo
Programmatore sbilenco

Anonimo Profilo | Senior Member

scusate, ragazzi se non vi ho risposto prima ma la cosa ho risolto cosi:


Response.Write("<a href=javascript:save('" + Server.UrlEncode(rdr["cName"].ToString()) + "');>" + Server.UrlDecode(rdr["cName"].ToString()) + "</a><br>");

Tanto mi serviva solo per linkare un collegamento e passarlo da popup a pagina madre.
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5