C# is not as elegant as Perl but after a breaking in period where you slowly accept the shortcomings of C# it's surprising how similar they _can_ be. I submit a rather long example (yes, the Perl version is about 80% longer than it needs to be)...
# simple html pager class
use strict;
use warnings;
my $pager = Pager->new();
$pager->uri('foo.com/x?bar=1');
$pager->cnt(25); # from pre-query count
$pager->page( $ARGV[0] || 1 ); # requested page from query arg
$pager->limit(3); # recs per page
print "cnt: " . $pager->cnt . "\n";
print "page: " . $pager->page . "\n";
print "limit: " . $pager->limit . "\n";
print "skip (derived): " . $pager->skip . "\n";
print "total_pages: " . $pager->total_pages . "\n";
print "html: \n" . $pager->html . "\n";
exit;
### Pager ###
package Pager;
use strict;
use warnings;
// simple html pager class
using System;
using System.Text.RegularExpressions;
public class Test
{
public static void Main (string[] args)
{
Pager pager = new Pager();
pager.uri = "foo.com/x?bar=1";
pager.cnt = 25;
pager.page = args[0];
pager.limit = 3;
Console.WriteLine("cnt: " + pager.cnt);
Console.WriteLine("page: " + pager.page);
Console.WriteLine("limit: " + pager.limit);
Console.WriteLine("skip (derived): " + pager.skip);
Console.WriteLine("total_pages: " + pager.total_pages());
Console.WriteLine("html: \n" + pager.html());
}
}
public class Pager
{
Edit by castaway tidied up tags |