PageViewer WebPart and QueryString parameters
There has been dicussion (and people have noticed) about a Connected Page Viewer Webpart. There are several viable approaches to this scenario. One is to use cross-page connected webparts, but those require FrontPage interaction. There has been suggested that inheritance can be used from the PageViewerWebPart. Good luck: It's sealed.
The purpose of a Connected Page Viewer is usually to be able to instruct some page (element) to do something or feed it with params. FrontPage Dynamic Web Templates can be used if you are the developer of the page you want to view within Sharepoint. This gives you the Sharepoint look-and-feel and direct access to Querystrings. However it's less ideal for deployment because it requires FrontPage interaction.
I decided to create my own pageviewer webpart, because the thing is really just an IFrame. I wanted to be able to pass querystring parameters to it, as if it would be a normal page. I also wanted to be able to specify specifically what querystring parameters that should be passed to the QueryStringPageViewer so that sharepoint stuff wouldn't interfere. This actually works great. I can slap the QueryStringPageViewer webpart anywhere in sharepoint. Then I set the ContentLink property (either in ToolPane or dwp file) to http://server/site/page.aspx?param1¶m2¶m3. In this url pattern the param names are the querystring parameters that the QueryStringPageViewer should pass on to the page viewed in the webpart. Page.aspx is the webpartpage containing the QueryStringPageViewer.
So much for MS sealing their classes. Here's the code and the dwp file (thanks to manoli.net for the code formatter):