Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
ASP.NET 2.0 / 3.5 / 4.0
QueryString o viewstate?AIUTO!!
martedì 27 marzo 2007 - 09.23
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Lante86
Profilo
| Newbie
2
messaggi | Data Invio:
mar 27 mar 2007 - 09:23
Ciao a tutti !!!!
questa è la situazione:
Mi passo da una pagina (elenco.aspx), 2 parametri id e data che recupero poi in un'altra pagina(dettagli.aspx) attraverso Request.querystring
A questo punto per la modifica dei dati, dovrei intercettare la scelta su alcune dropdownlist o il click su detrminati bottoni, solo che provando a effettuare una di queste 2 azioni si carica la pagina dicendomi "impossibile visualizzare la pagina Web".
Penso che questo fatto sia dovuto ai parametri che rimangono memorizzati sulla barra degli indirizzi e impediscono alla pagina di inviare i dati relativi alle azioni compiute(click bottoni o cambio voce nelle DDL)
ho provato a utilizzare Request.QueryString.Remove("data");ma mi dice "L'insieme è in sola lettura."
qualcuno sa dirmi se c'è un metodo per pulire i paramtteri della barra degli indirizzi o qualche modo per risolvere il mio problema?
----------------------------------------------------------------------------------------------------
Io ho scritto nella pagina di modifica.aspx:
<asp:DropDownList ID="DDLclienti" runat="server" Width="175px" AutoPostBack="true" OnSelectedIndexChanged="DDLclienti_SelectedIndexChanged" >
</asp:DropDownList>
e nel code behind della pagina ho gestito l'evento
protected void DDLclienti_SelectedIndexChanged(object sender, EventArgs e)
{
Imp1.clienteMat = DDLclienti.SelectedValue;
......
......
}
ma quando cambio l'opzione della ddl nella barra degli indirizzi mi aggiunge:
modifica.aspx?data=26%2f03%2f2007&%3fid=EC dandomi l'errore,
Mentrre i valori prima sono
modifica.aspx?data=26/03/2007&?id=EC
----------------------------------------------------------------------------------------------------
Per recuperare le stringhe uso :
string data;
data=Request.QueryString[0];
string id;
id=Request.QueryString[1];
tutto inserito nel page_load
dentro a un if(!Page.IsPostBack)
Per avere quei parametri uso
<a href='Modifica.aspx?data="+datax+"&?id="+ TextBox2.Text +"'>"+ datax +"</td>";
dove datax è una data calcolata dinamicamente all'interno di una tabella,mentre
TextBox2.text è un campo hidden contenente l'id della persona in questione
GRAZIE A TUTTI SPERO IN UNA VOSTRA RISPOSTA!!!!
trasportation
Profilo
| Junior Member
104
messaggi | Data Invio:
mar 27 mar 2007 - 10:55
Prima di tutto, i parametri devono essere passati nel seguente modo
modifica.aspx?data=26/03/2007&id=EC
e non
modifica.aspx?data=26/03/2007&?id=EC
il ? DEVE essere presente solo come primo carattere della query string (indica l'inizio dei parametri), i parametri devono essere separati da & e basta.
a quest punto puoi utilizzare
data=Request.QueryString["data"];
meglio utilizzare il nome in questo modo se cambi la disposizione dei parametri oppure ne aggiungi prima non devi ripassare il codice per correggere la posizione.
Prova a correggere questi problemi e riprova.
Ciao
/*
* web:
http://www.robertobeccari.it
*/
Lante86
Profilo
| Newbie
2
messaggi | Data Invio:
mar 27 mar 2007 - 11:14
ok grazie ho corretto l'errore, ma non dipende da quello,ho scoperto ora che il mio problema è dato dal fatto che devo caricare 2 DropDownList con gli stessi dati e non capisco perchè quando carico la seconda si impalla e mi da quell'errore di cui ti parlavo
ti scrivo qui il codice per caricare la drop down list:
public void caricaDdlClienti(DropDownList dd1, string qry)
{
Connessione conn = new Connessione("Driver={Microsoft ODBC for Oracle}; Server=***; Uid=****; Pwd=****;");
OdbcCommand cmd = new OdbcCommand();
cmd.Connection = conn.apriconnessione();
cmd.CommandText = qry;
OdbcDataReader reader = cmd.ExecuteReader();
dd1.DataSource = reader;
dd1.DataValueField = "cf_cod";
dd1.DataTextField = Convert.ToString("c_nome");
dd1.DataBind();
cmd.Dispose();
reader.Close();
}
Mentre le chiamate sono:
caricaDdlClienti(DDLclienti, query);==>con questa tutto ok
caricaDdlClienti(DropDownList1, query);==>se eseguo questa non mi funzionano più i pulsanti ne niente
Sai percaso dirmi da cosa potrebbe essere dovuto
Grazie Stefano
Torna su
Stanze Forum
Elenco Threads
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 !