The generated code for, let's say, the "next" url is like:
a href="?{$prefix_param}_page={$maxPages}"
This works well for friendly urls since it only adds the parameter to the end of the querystring, but if you don't use friendly urls it sends you to the default.aspx page with this parameter.
Let's suppose that I have this URL:
http://myhost/mydir/Default.aspx?tabid=64&language=en-US
then clicking the "next" link on my UDT generates a link like:
http://myhost/mydir/Default.aspx?udt_382_param_page=2
instead of
http://myhost/mydir/Default.aspx?tabid=64&language=en-US&udt_382_param_page=2
which, of course, sends me to the home page since the tabid parameter is now missing.
If I switch to friendly URLs, then my initial url becomes:
http://myhost/mydir/Home/UserDefinedTableTest/tabid/64/language/en-US/Default.aspx
and clicking on the "next" link on the UDT takes me to
http://myhost/mydir/Home/UserDefinedTableTest/tabid/64/language/en-US/Default.aspx?udt_382_param_page=2
which is, in my opinion, not correct, since the site is supposed to use friendly urls but paging is achieved via url parameters.
Note that I've used the "generate from HTML" feature of the UDT module and have produced an XSLT from a Table, doing nothing more to the XSLT itself. So, in my opinion, and as a conclusion the problem is double:
1. That when using non-friendly urls, generated paging does not work. I would have to hard-code the exact url of my page and append the "&{$prefix_param}_page={$maxPages}" string in order for it to work. That makes the generated XSLTs not portable. Is there a way I can get the whole querystring inside the generated XSLT (as a variable that is passed to the XSLT,perhaps?)
2. When using friendly urls, the paging is actually achieved using a querystring parameter, something which I consider wrong. I have no suggestion, though, for this part.
Could you please provide some help with point no.1?