Array
(
)

Componente não aparece no código HTML

Cassiano Gil
   - 15 dez 2009

Boa Tarde Pessoal,

Estou com um problema aqui que está me deixando maluco... Estou desenvolvendo em ASP.NET e tenho um componente que, hora deve ser visível e hora deve ser invisível...

O grande problema é que quando utilizo a propriedade .Visible = "true" (TextBox e Label), o componente aparece na tela corretamente, no entanto, quando peço ao navegador (IE e Firefox) para exibirem o código fonte, este componente não aparece... Se eu retirar do fonte os trechos onde é utilizada a propriedade Visible, funciona corretamente...

Alguém faz idéia do que possa ser??

Obrigado!!

Gboex -
   - 15 dez 2009

Boa tarde

Basicamente se você quiser esconder o objeto e conseguir ver o seu código fonte, deverá manipulá-lo via CSS, como por exemplo style="display:none". A diferença consiste na renderização do objeto, quando utiliza-se as propriedades do CSS para esconder (o objeto é montado mas não é exibido). Já configurando Visible = false isto não ocorre, pois é objeto é impedido de ser "montado" na parte cliente da aplicação.

Já passei por uma situação e vi na prática mais ou menos isto, tive que esconder um Panel e quando quis deixá-lo visível via java script eu não consegui. Logo, tive que substituir visible=false, por:

Panel.Style.Add(HtmlTextWriterStyle.Display, "inline");  // Deixar visível
Panel.Style.Add(HtmlTextWriterStyle.Display, "none");  // Deixar invisível

Referência: http://forums.asp.net/p/1412978/3104616.aspx

Att,

0
|
0

Cassiano Gil
   - 15 dez 2009

  Juliano,

Acho que não é bem isso não... Em determinado momento eu quero deixá-lo invisível, mas no momento em que estou visualizando o fonte do html sua propriedade Visible está definida como TRUE e mesmo assim não aparece no fonte. OBS: Aparece na página, mas no HTML fonte não... Para solucionar estou utilizando ENABLED ao invés de VISIBLE... No entanto, gostaria de um esclarecimento a respeito, se possível..

Obrigado!!

0
|
0

Netasper
   - 16 dez 2009

Amigo,   Este comportamento é absolutamente normal, para parar um teste, tente usar javascript assim vc vera o controle no codigo fonte:   document.getElementByID("nomedoseucontrole").style.visibility = "hidden"; ou document.getElementByID("nomedoseucontrole").style.visibility = "visible";   Da forma acima aparece, mas se usar:   document.getElementByID("nomedoseucontrole").display = "block"; ou document.getElementByID("nomedoseucontrole").display = "none";   Não aparece... ´[]s

0
|
0

Cassiano Gil
   - 17 dez 2009

hummmmm...

Quer dizer que quando utilizo a propriedade Visible, independente de True ou False ele sempre vai definir o componente como

document.getElementByID("nomedoseucontrole").style.visibility = "hidden";

???

Obrigado!!

0
|
0