Caracteres especiais na string de consulta do URL

Tenho uma situação em que o usuário pode inserir os caracteres que deseja em uma string de consulta de UR

Exemplo

http: //localhost/default.aspx? ID = XXXX

http: //localhost/default.aspx? ID = & XXXX

http: //localhost/default.aspx? ID = # XXXX

A página da web deve aceitar o parâmetro ID, pois não importa quais são os caracteres. No entanto, certos caracteres especiais, como e comercial (&) e libra (#), criam problemas. Como posso aceitá-los como estão?

questionAnswers(4)

yourAnswerToTheQuestion