QueryStrings are not just bad for the websites (because everything is appended to the URL making it long... Some browsers prefer short URLs), it is also bad for SEOs. You should consider generating URLs like,
http://www.example.com/page/param_value.
Secondly, since you are talking about ASP.NET, ASP.NET provides many ways of passing the values, of which, Sessions are much better and fine-tuned ways for passing the values if the data is only going to exist for that Session and does not require to be maintained even if user closes the browser.
How to share data among different web pages using ASP.NET[
^], in many ways, Session variables are much recommended to be used. But remember, do not store sensitive information in Cookies or any other storage mechanism. Always use tokens when you want to share the sensitive permissions like credit card information or password details.