Componente não aparece no código HTML
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!!
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!!
Cassiano Gil
Curtidas 0
Respostas
Gboex -
15/12/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,
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,
GOSTEI 0
Cassiano Gil
15/12/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!!
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!!
GOSTEI 0
Netasper
15/12/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
GOSTEI 0
Cassiano Gil
15/12/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!!
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!!
GOSTEI 0