Agree, never ever use querystring for sensitive information, and never ever hide them in hidden fields or viewstate.
Always encrypt and store them in either session or cookie or custom (sql or files).
You can however use querystring for validation of a username or password. Example (not a good scenario):
A user is prompted for username and password, then submits the form. The page is redirected to another page for validation and sends the user name and password in the URL. Be aware that the user name and password is encrypted using a one way encryption hash with a little extra spice (your own phrase). At the validation side, you extract the username and passord from the database and hash this the same way you did on the latter page. Then you compare to the value, the one send in query string and the one generated at the validation page. If they match, then voila! if not, incorrect username or password sent back to the user.