Har länge tänkt dela med mig av sånt man gjort under årens lopp och som känns som att det sparar lite tid... en sån är en liten funktion i Asp.Net C# som löser vardagliga problem.
Nästan alla dynamiska sidor hämtar post & get parametrar av något slag. För att slippa skriva långa onödiga Request.QueryString["XXX"] eller Request.Form["XXX"] för varje hämtning så skrev jag en liten variant som även finns översatt till php och javascript.
GetRequestParam
När jag skrev den tänkte jag att den skulle klara att ta emot både get & post, kunna returnera ett definierat defaultvärde och kunna returnera en del av värdet.
I C# resulterade detta i en funktion med tre overloads.
Denna kallar på nästa overload med defaultvärdet ""
public string GetRequestParam(string key)
{
return GetRequestParam(key, "");
}
...som kallar på nästa overload med inskickat defaultvärde och -1 för antal tecken (dvs alla)...
public string GetRequestParam(string key, string defaultvalue)
{
return GetRequestParam(key, defaultvalue, -1);
}
...och slutligen funktionen som tar emot alla parametrar och returnerar värdet
public string GetRequestParam(string key, string defaultvalue, int max_length)
{
string val = Request.Form[key] == null || Request.Form[key] == "" ? null : Request.Form[key];
if (val == null)
val = Request.QueryString[key] == null || Request.QueryString[key] == "" ? null : Request.QueryString[key];
if (max_length != -1 && val != null && val.Length > max_length)
val = val.Substring(0, max_length);
return val == null ? defaultvalue : val;
}
Det är ungefär tre år sen den skrevs men det finns alltid mycket man kan lägga till. Har plan på att lägga till ytterligare en overload för att stoppa SQL Injections som blir allt vanligare. Det kan ju vara bra att ha det löst per automatik för alla mottagna parametrar en gång för alla...
söndag 11 november 2007
Request Parameters i .Net
Prenumerera på:
Kommentarer till inlägget (Atom)
Inga kommentarer:
Skicka en kommentar