Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Kalmfs

Aspas em QueryString

Recommended Posts

Caros colegas,

 

Estou com um problema, tô pesquisando a um tempão e não consigo resolver... Gostaria de uma ajuda, acredito que seja uma coisa simples, mas tico e teco já mandaram um abraço...

 

Tenho uma página com um form de cadastramento de pedidos e, em um campo o usuário precisará inserir um valor, por exemplo, deste:

 

Varilla de acero Ǿ 8mm (5/16") - 40' Grado 60/A615

 

Este form, via post, chama a página seguinte, que faz os requests,

 

descripcion1 = Request.Form("descripcion1") e descripcion2 = Request.Form("descripcion2")
mostra ao usuário os valores que ele digitou, e possui inputs hidden que guardam os esses mesmos valores:

 

<span class="radios"><%= descripcion1 %></span>
<input name="descripcion1" type="hidden" size="60" value="<%= descripcion1 %>" /></td>
o que vem impresso no span = Varilla de acero Ǿ 8mm (5/16") - 40' Grado 60/A615

 

já no input = Varilla de acero Ǿ 8mm (5/16 sempre parando nas aspas duplas

 

isso no caso do item 1 do pedido... a exibição do item 2 é condicionada à solicitação do mesmo, ficando:

 

Response.Write(" <span class=radios>"& descripcion2 &"</span>")
Response.Write("<input name=descripcion2 type=text size=60 value='"& descripcion2 &"' /></td>")
neste caso (sendo solicitado o item 2), dentro do span aparece normal = Varilla de acero Ǿ 8mm (5/16") - 40' Grado 60/A615

 

e no input = Varilla de acero Ǿ 8mm (5/16") - 40 desta vez parando na aspa simples...

 

usando o Server.HtmlEncode nos requests

 

descripcion1 = Server.HTMLEncode(Request.Form("descripcion1")) e descripcion2 = Server.HTMLEncode(Request.Form("descripcion2"))
eu resolvo a questão do input que para nas aspas duplas, mas não resolvo o input que está no Response.Write, que para na aspa simples.

 

tô me perdendo nessa questão das aspas, li muita coisa e não consegui resolver. qual o segredo das aspas?? resolvendo esta questão acredito que posso usá-la também para, posteriormente, fazer os inserts no banco.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Basta você dar um replace nesses request, substituindo uma aspas simples por duas.

 

Ex. Replace(variavel, "'", "''")

Compartilhar este post


Link para o post
Compartilhar em outros sites

só complementando , veja abaixo como é o uso de aspas simples e dupla em um texto

 

Response.write("<a href=""pagina.asp"" & ">" & "Link" & "</a>"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Basta você dar um replace nesses request, substituindo uma aspas simples por duas.

 

Ex. Replace(variavel, "'", "''")

 

Essa foi uma das coisas que testei, hargon, mas perceba que desse modo a unidade de medida do pedido fica comprometida e não resolve o problema. Usei:

 

descripcion1 = Replace(Request.Form("descripcion1"), "'", "''") e descripcion2 = Replace(Request.Form("descripcion2"), "'", "''")

E passa a ser impresso no <span> = Varilla de acero Ǿ 8mm (5/16") - 40'' Grado 60/A615 -> com '' após o 40; o usuário tem que poder cadastrar no sistema o valor 40' que é a unidade de medida correta. Além disso o valor que chega no input hidden continua parando nas aspas duplas, como foi dito. Isso tanto no item 1 quanto no 2, que é mostrado, lembrando, através de Response.Write

 

Valeu pela ajuda, continuo pesquisando e fico no aguardo de uma nova dica.

 

Então, usei os seguintes replaces nos requests:

 

descripcion1 = Replace(Replace(Request.Form("descripcion1"), Chr(34), "’’"), Chr(39), "’")

Substituindo Aspas Simples e Duplas, que estavam dando problema, pelas Aspas "Curvadinhas"... Tá mostrando tudo legal na página seguinte, tanto nos inputs quanto nos response.write, sem cortar, e mantendo as unidades corretamente. Ainda não testei como isso funcionará ao inserir no banco, mas posto assim que tiver uma resposta.

 

Abs

 

Fiz o teste com o INSERT e tá funcionando beleza. As Aspas "Curvadinhas", mantém as unidades corretamente e não cortam a string, nem na visualização/confirmação dos dados, nem no INSERT no banco.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.