Jeg finder mig selv bruge meget af den samme plumbing kode for at tjekke for null og 0 værdier når jeg bruger QueryStrings. Det er mildest talt dumt og koden til det er så simpel, at det bare skal ligge i en extenstion method.
public static class RequestExtensions {
public static Int32 IntQueryString( this HttpRequestBase request, String queryKeyString ) {
if ( String.IsNullOrEmpty( queryKeyString ) ) {
throw new ArgumentNullException( "{0} querystring findes ikke i request objektet",
queryKeyString );
}
queryKeyString = request.QueryString[ queryKeyString ];
Int32 queryStringInt;
if ( Int32.TryParse( queryKeyString, out queryStringInt ) ) {
return queryStringInt;
}
return 0;
}
}
Nu kan jeg lave mine QueryStrings om til typen Int32 uden så meget bøvl
Int32 intId = Request.IntQueryString( "id" );