![]() |
|
Utilizzo delle QueryString con Asp.NET e C Sharp
Come ho potuto sanguinosamente sperimentare sulla mia ormai emaciata pelle, l'utilizzo e la gestione delle QueryString in Asp.NET, in particolare con C# (che a differenza di VBScript e dello stesso JScript è un vero linguaggio di programmazione) non è immediato e lineare come in Asp tradizionale, o come in Php.
<%@Page Language="C#" Debug="true"%>
<script runat="server">
void Page_Load(Object sender, EventArgs e)
{
if (Request.QueryString["cat"] != null)
{
String cat = Request.QueryString["cat"];
Response.Write("La categoria corrente è " + cat);
}
}
</script>
Diversamente da come siamo abituati a fare in Asp tradizionale (VBScript e JScript) in C# il valore di un vettore si recupera tra parentesi quadre
Request.QueryString["cat"]Se il valore è diverso da null, allora recuperiamo la QueryString memorizzandola in una variabile di tipo String e la utilizziamo dove ci serve. Si provi a lanciare il browser all'indirizzo http://localhost/percorso/querystring.aspx?cat=ANel caso di una variabile numerica, ovvero di tipo int, in C# non è possibile ottenere una conversione implicita del tipo, dato che la collezione Request.QueryString, di fatto, è considerata di base di tipo String. La conversione deve essere effettuata col metodo ToInt32 nella forma System.Convert.ToInt32(variabile_String);Vediamo un esempio, col file querystring2.aspx:
<%@Page Language="C#" Debug="true"%>
<script runat="server">
void Page_Load(Object sender, EventArgs e)
{
if (Request.QueryString["id"] != null)
{
String id = Request.QueryString["id"];
int id2 = 0;
id2 = System.Convert.ToInt32(id);
Response.Write("Stai visitando la pagina # " + id2);
}
}
</script>
La parte evidenziata in rosso evidenzia il recupero della variabile, la sua inizializzazione e la conversione.Si provi a lanciare il file creato per questo esempio http://localhost/percorso/querystring2.aspx?id=1Si provi adesso a modificare l'indirizzo in questo modo http://localhost/percorso/querystring2.aspx?id=CIAOIl parametro id, in seguito alla conversione, è a tutti gli effetti un intero numerico, quindi ha tutti i suoi buoni motivi per adirarsi come una biscia se valorizzato con una stringa. E' necessario gestire l'errore... ho utilizzato il costrutto try...catch:
<%@Page Language="C#" Debug="true"%>
<script runat="server">
void Page_Load(Object sender, EventArgs e)
{
if (Request.QueryString["id"] != null)
{
try
{
String id = Request.QueryString["id"];
int id2 = 0;
id2 = System.Convert.ToInt32(id);
Response.Write("Stai visitando la pagina # " + id2);
}
catch (Exception Ex)
{
Response.Write("Impossibile utilizzare valori non numerici");
}
}
}
</script>
|
IN EVIDENZA
Una slidegallery con jQuery
Pagamenti online con PayPal e PHP
Guadagna col tuo sito grazie a TradeD...
Riavviare IIS
Effetto ombra su testo con Photoshop
Guida XHTML
Riscrivere le URL con Asp
Generare password casuali in Javascri...
Errore 80004005: Cannot update. Datab...
Referenze dei Tag Html
HTTP 500 internal server error
Introduzione ad Ajax ed Asp con Jscri...
Breve guida a jQuery
Stringhe di connessione via ODBC e Ol...
Referenze dei fogli di stile Css
Le espressioni regolari in Javascript
|
||||
© 2001/2012 lukeonweb.net - A cura di Luca Ruggiero, Partita IVA 05564851219 -
Privacy |
Pubblicità |
Contatti
| |||||