como funciona o Request.QueryString?

Eu tenho um exemplo de código como este:

location.href = location.href + "/Edit?pID=" + hTable.getObj().ID; ; //aspx parID = Request.QueryString["pID"]; //c# 

funciona, minha pergunta é – como? qual é a lógica? obrigado 🙂

    A class HttpRequest representa a solicitação feita ao servidor e possui várias propriedades associadas a ela, como QueryString .

    O tempo de execução do ASP.NET analisa uma solicitação para o servidor e preenche essas informações para você.

    Leia HttpRequest Properties para obter uma lista de todas as propriedades potenciais que são preenchidas em seu nome pelo ASP.NET.

    Nota: nem todas as propriedades serão preenchidas, por exemplo, se a sua solicitação não tiver uma string de consulta, a QueryString será nula / vazia. Portanto, você deve verificar se o que espera estar na string de consulta está lá antes de usá-lo da seguinte maneira:

     if (!String.IsNullOrEmpty(Request.QueryString["pID"])) { // Query string value is there so now use it int thePID = Convert.ToInt32(Request.QueryString["pID"]); } 

    O object Request é a solicitação inteira enviada para algum servidor. Este object vem com um dictionary QueryString que é tudo depois de ‘? no URL.

    Não sei exatamente o que você estava procurando em uma resposta, mas confira http://en.wikipedia.org/wiki/Query_string

     Request.QueryString["pID"]; 

    Aqui Request é um object que recupera os valores que o navegador do cliente passou para o servidor durante uma solicitação HTTP e QueryString é uma coleção usada para recuperar os valores das variables ​​na string de consulta HTTP.

    LEIA MAIS @ http://msdn.microsoft.com/en-us/library/ms524784(v=vs.90).aspx

    Uma cadeia de consulta é uma matriz de parâmetros enviados para uma página da web.

     This url: http://page.asp?x=1&y=hello Request.QueryString[0] is the same as Request.QueryString["x"] and holds a string value "1" Request.QueryString[1] is the same as Request.QueryString["y"] and holds a string value "hello" 

    A coleção QueryString é usada para recuperar os valores das variables ​​na string de consulta HTTP.

    A string de consulta HTTP é especificada pelos valores após o ponto de interrogação (?), Assim:

    Vincular com uma string de consulta

    A linha acima gera uma variável chamada txt com o valor “this is a query string test”.

    As strings de consulta também são geradas pelo envio de formulário ou por um usuário que digita uma consulta na barra de endereço do navegador.

    E veja este exemplo: http://www.codeproject.com/Articles/5876/Passing-variables-between-pages-using-QueryString

    consulte isto: http://www.dotnetperls.com/querystring

    você pode coletar mais detalhes no google.