Currently, I\'m using a strategy found on many blog posts. Basically, the URL contains the page number (e.g. /Users/List/5 will give you the users on page 5 of your paged list
Ignoring routes for just a minute, you'll just keep the state of the 2 different pages in the URL as querystring parameters.
mysite.com/foo?list1page=2&list2page=8
Then you build the data/pagers accordingly. The pager links will just update the url.
You can get creative with routes to create more friendly URLs, but I think querystring params are perfectly acceptable here.
If you use query parameters then the page links in each list have to know about each other in-order to pass both parameters.
If the two lists are independent of each other then you can update them individually using jquery & ajax. Simply place each list in their own div as a partial view.
<div id="list1"><%= Html.RenderPartial ("ListA") %></div>
<div id="list2"><%= Html.RenderPartial ("ListB") %></div>
Lookup ajaxSubmit from the jQuery Form plugin for an easy way to update the lists.
PagedList.Mvc is a really easy to use plugin, and is available via Nuget
too.
I've found ASP.NET MvcPager on the official asp.net site.