Você está offline; aguardando reconexão

INFO: Manipulação matrizes de elementos de entrada de HTML com Request.Form e Request.QueryString

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 312558
Sumário
Um formulário de arquivo de marcação de hipertexto (HTML) pode incluir vários campos de entrada que compartilham o mesmo nome. Se você usar a coleção Request.Form ou Request.QueryString para acessar um nome de campo, será retornada uma seqüência de caracteres que contém todos os valores de todos os campos com o nome de determinado campo, que são separados por uma vírgula (,).

Para acessar valores individuais, você pode usar o método GetValues para obter uma matriz de seqüências de caracteres. Em seguida, você pode usar os elementos da matriz para fornecer acesso aos valores individuais. Por exemplo, no Microsoft Visual translation from VPE for Csharp. NET, use o código a seguir:
String[] tempArray;tempArray = Request.Form.GetValues("fieldName");Response.Write (tempArray[0]);  //Print the first value.				
In Microsoft Visual Basic .NET, use o código a seguir:
Dim tempArray() as StringtempArray = Request.Form.GetValues("fieldName")Response.Write (tempArray(0)) 'Print the first value.				
Mais Informações
Caso mais genérico, você pode repetir qualquer nome de campo HTML várias vezes. Por exemplo:
  <form ... >    <input type="text" name="fieldName" ... >    <input type="text" name="fieldName" ... >    ...    <input type="submit" ... >  </form>				
para oferecer suporte nesse caso, as coleções Request.Form e Request.QueryString devem ter uma matriz de valores de seqüência de caracteres para cada nome de campo. Request.Form e Request.QueryString são coleções de seqüências de caracteres.

Porque isso não é um cenário comum para a maioria dos usuários, o comportamento padrão do Request.Form["variablename"] ou Request.QueryString["variablename"] retorna uma seqüência de caracteres única. Assim, os usuários que precisam usar campos de valores múltiplos devem usar o método Request.Form.GetValues .

Comparação com o ASP clássico

Para resolver esse dilema, clássico Microsoft Active Server Pages (ASP) e Microsoft Visual Basic Scripting Edition (VBScript) dependem propriedades padrão na automação OLE. Request.Form e pesquisa de Request.QueryString sempre retornam uma coleção de OLEAUT de seqüências de caracteres. Além disso, essas coleções tem uma propriedade padrão do tipo string, excluiu a referência ao é automaticamente chegar nas atribuições. Isso funciona bem para VBScript; no entanto, no ASP clássico, as interfaces são muito difíceis de usar no Microsoft Visual C++.

Você não pode usar essa abordagem em ASP.NET ou Visual Basic .NET porque não há nenhuma diferença entre LET e SET, e não há nenhuma resolução de propriedade padrão automático.
Referências
Para obter informações adicionais sobre recursos do ASP.NET, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
305140INFO: Guia de ASP.NET
formulário com valores múltiplos campos GetValues pesquisa pesquisar

Propriedades

ID do Artigo: 312558 - Última Revisão: 02/23/2007 17:20:31 - Revisão: 3.4

Microsoft ASP.NET 1.1, Microsoft ASP.NET 1.0

  • kbmt kbhtml kbinfo KB312558 KbMtpt
Comentários
toString(16)); var m = document.createElement("meta"); m.content = guid; m.name = "ms.dqid"; document.getElementsByTagName("head")[0].appendChild(m);