Componente não aparece no código HTML

15/12/2009

0

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!!
Cassiano Gil

Cassiano Gil

Responder

Posts

15/12/2009

Gboex -

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,


Responder

15/12/2009

Cassiano Gil

  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!!
Responder

16/12/2009

Netasper

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
Responder

17/12/2009

Cassiano Gil

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!!
Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar