QueryString o viewstate?AIUTO!!

martedì 27 marzo 2007 - 09.23

Lante86 Profilo | Newbie

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

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

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
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