Condicionais No Asp.net
#1
Posted 17/09/2009, 02:46
Sou novo no forum, assim como em ASP.NET e minha opção de linguagem foi o C#.
Gostaria de uma ajuda referente a utilização do if dentro da página asp.net. Se é que é possível utilizar o if dentro da página como fazíamos com o asp tradicional.
Tenho uma seção de notícias, e algumas notícias têm fotos outras não.
Então para que não apareça aquela imagem que o browser coloca quando não encontra a foto, gostaria de verificar se foi cadastrada com a notícia uma foto, para que eu possa exibir ou não esse campo que contém a imagem.
Agradeço a todos!
Abraço,
Jackson Lemos
http://lattes.cnpq.br/9132700064717562
http://www.efium.com.br/
http://twitter.com/jlemosmoreira
#2 nvivo
Posted 17/09/2009, 11:10
Gostaria de uma ajuda referente a utilização do if dentro da página asp.net. Se é que é possível utilizar o if dentro da página como fazíamos com o asp tradicional.
Jackson,
Sim, o ASP.NET suporta IFs como qualquer outra linguagem.
Você pode dentro do HTML fazer algo como:
<% if (variavel == null) { %> <tag>html</tag> <% } %>
No entanto, pro que você quer fazer muitas vezes é mais fácil fazer isso numa propriedade visible, como:
<img src="..." runat="server" visible='<%# String.IsNullOrEmpty((string) Eval("Url")) %>' />
Outro modo é utilizar o evento OnDataBind de um repeater por exemplo, e aplicar uma lógica mais complexa, como alterar a URL da imagem dependendo de certas condições..
[]'s
#3
Posted 17/09/2009, 22:13
Gostaria de uma ajuda referente a utilização do if dentro da página asp.net. Se é que é possível utilizar o if dentro da página como fazíamos com o asp tradicional.
Jackson,
Sim, o ASP.NET suporta IFs como qualquer outra linguagem.
Você pode dentro do HTML fazer algo como:<% if (variavel == null) { %> <tag>html</tag> <% } %>
No entanto, pro que você quer fazer muitas vezes é mais fácil fazer isso numa propriedade visible, como:
<img src="..." runat="server" visible='<%# String.IsNullOrEmpty((string) Eval("Url")) %>' />
Outro modo é utilizar o evento OnDataBind de um repeater por exemplo, e aplicar uma lógica mais complexa, como alterar a URL da imagem dependendo de certas condições..
[]'s
Obrigado meu caro, era algo assim mesmo incluido no html q eu queria. Pórem não funcionou, quando utilizei sua dica sumiram todas as imagens. Talvez eu tenha utilizado a sintaxe de forma errada.
Fiz assim a principio:
visible='<%# String.IsNullOrEmpty((imagem) Eval("imagem", "img/noticias/{0}")) %>' DEU ERRO NA PÁGINA
visible='<%# String.IsNullOrEmpty((string) Eval("imagem", "img/noticias/{0}")) %>' NÃO MOSTRAVA AS IMAGENS
A string dentro do isnullorempty seria o campo mesmo?
Então com base na sua dica fiz outra pesquisa no google e consegui essa outra alternativa que está em vermelho.
<ItemTemplate>
<h3><%# DataBinder.Eval(Container.DataItem, "titulo") %></h3>
<asp:Image ID="Image2"
align="left"
hspace="7"
ImageUrl='<%# Eval("imagem", "img/noticias/{0}") %>'
runat="server"
visible='<%# Convert.ToString(Eval("imagem")) != "" %>' />
<a ID="HyperLink1" href="noticiaDetalhes.aspx?CodigoId=<%# Eval("codigo") %>"><%# Eval("d") %> ...</a>
<br /><strong>Fonte: <asp:Label ID="fonte" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "fonte") %>' /></strong>
</ItemTemplate>
Mais uma vez obrigado!
Abraço.
http://lattes.cnpq.br/9132700064717562
http://www.efium.com.br/
http://twitter.com/jlemosmoreira
#4
Posted 18/09/2009, 17:34
O problema ocorrido é que o metodo da classe String (String.IsNullOrEmpty()) não aceita object, só string.
Tente assim:
String.IsNullOrEmpty(Eval("imagem").ToString())
Assim você vai verificar se o valor da coluna imagem do seu banco está vazio ou não, o retorno é false/true.
Você pode testar assim:
String.IsNullOrEmpty(Eval("imagem").ToString()) ? "Verdadeiro" : "Falso"
Espero ter ajudado.
#5
Posted 19/09/2009, 09:07
Jackson,
O problema ocorrido é que o metodo da classe String (String.IsNullOrEmpty()) não aceita object, só string.
Tente assim:
String.IsNullOrEmpty(Eval("imagem").ToString())
Assim você vai verificar se o valor da coluna imagem do seu banco está vazio ou não, o retorno é false/true.
Você pode testar assim:
String.IsNullOrEmpty(Eval("imagem").ToString()) ? "Verdadeiro" : "Falso"
Espero ter ajudado.
Oi Helder,
Também não funcionou desta forma, de qualquer modo funcionou assim: <%# Convert.ToString(Eval("imagem")) != "" %>
Obrigado!
http://lattes.cnpq.br/9132700064717562
http://www.efium.com.br/
http://twitter.com/jlemosmoreira
#6
Posted 23/09/2009, 10:15
Você não precisa utilizar o if dentro do do html, nem é recomendado.
Para isso você pode controlar pelo próprio código, usando o idDoElemento.Style.Add("display","none");
Microsoft Certified Prrofessional | MCP .NET
RenatoMaia.Net.br tudo sobre desenvolvimento .Net e Tecnologias.
#7 nvivo
Posted 23/09/2009, 15:55
Edição feita por: nvivo, 24/09/2009, 21:57.
#8
Posted 23/09/2009, 16:05
Se este post lhe ajudou, ajude o fórum também. Use a reputação de mensagens!
#9 nvivo
Posted 23/09/2009, 16:47
Edição feita por: nvivo, 24/09/2009, 21:56.
#10
Posted 23/09/2009, 17:20
Muita coisa, claro, vai deixar de ser simples se utilizado o método de "cada coisa no seu devido lugar"... um trambolhaço de coisa sairia das páginas HTML mesmo... quando eu mexi com PHP, sempre tentei organizar as coisas em classes e métodos, óbviamente, nem tudo dava, por exemplo, pra ficar utilizando InnerHTML em tudo, auhhahuauhahu nem é viável...
eu estou começando agora nesse mundo de orientação a objeto, acho que até me expressei mal quanto ao "tudo deve estar lá", até pq nem tem como tudo estar lá, por questão funcional mesmo!
Se este post lhe ajudou, ajude o fórum também. Use a reputação de mensagens!
#11
Posted 24/09/2009, 00:17
Veja bem, concorco com você na questão de que não existe regras.
Quando eu disse que é recomendado, eu quis pregar o conceito de programação em camadas e boas pratricas de programação.
Claro que tudo existe exceções, e para tudo se tem um jeito "brasileiro" de se realizar.
Você sempre deve buscar, o que for mais pratico e sempre visando a manuterabilidade do código, esse é um dos grandes conceitos de engenharia de software e modelagem de negocios.
Mais é isso ai, é sempre bom compartilhar experiências...
Abraços galera...
Microsoft Certified Prrofessional | MCP .NET
RenatoMaia.Net.br tudo sobre desenvolvimento .Net e Tecnologias.
#12 nvivo
Posted 24/09/2009, 09:02
Edição feita por: nvivo, 24/09/2009, 21:56.
#13
Posted 24/09/2009, 10:50
Como você citou, são pontes de vista, em relação as boas praticas, a regra principal é, qual o seu objetivo?
A partir deste ponto e possível saber como proceder em seu código fonte.
E como você citou tbm, tudo é possível, e por este motivo não existe regras, e sem contar que você mesmo pode criaro seu padrão.
Em relação a dúvida do nosso amigo, que sumiu rs... Não vejo porque por código no meio do html, sendo que é altamente produtivo realizar a manobra pelo code-bihind...Mas, ele não compartilhou por completo o cenário que ele estava enfrentando, então não posso afirmar com certeza qual seria a melhor prática.
Mais é por isso que é interessante os fóruns, surge grandes assuntos em pequenas coisas.
Obrigado por compartilhar o seu ponto de vista.
Atenciosamente,
Renato Maia.
Microsoft Certified Prrofessional | MCP .NET
RenatoMaia.Net.br tudo sobre desenvolvimento .Net e Tecnologias.
#14
Posted 24/09/2009, 19:08
Concordo nvivo.
Como você citou, são pontes de vista, em relação as boas praticas, a regra principal é, qual o seu objetivo?
A partir deste ponto e possível saber como proceder em seu código fonte.
E como você citou tbm, tudo é possível, e por este motivo não existe regras, e sem contar que você mesmo pode criaro seu padrão.
Em relação a dúvida do nosso amigo, que sumiu rs... Não vejo porque por código no meio do html, sendo que é altamente produtivo realizar a manobra pelo code-bihind...Mas, ele não compartilhou por completo o cenário que ele estava enfrentando, então não posso afirmar com certeza qual seria a melhor prática.
Mais é por isso que é interessante os fóruns, surge grandes assuntos em pequenas coisas.
Obrigado por compartilhar o seu ponto de vista.
Atenciosamente,
Renato Maia.
Olá Pessoal,
Sumi não, mas como fiz cirurgia recentemente no olho, estou acessando a rede moderadamente.
E com base na primeira resposta, consegui outra forma e citei aqui no forum como resolvi.
Porém continuo acompanhando as discussões, e me esclarecendo cada vez mais.
E nessa discussão da separação dos códigos eu concordo com o nvivo, pq me extender tanto com a programação para saber algo tão simples, se posso resolver com uma linha de código somente!? Claro que tomando alguns cuidados para não fazer cambiarras.
Mas foi fantastica a discussão, pois abriu minha cabeça para outras coisas.
Inclusive já estou com outro probleminha aqui, mas vou fazer um post novo.
Mais uma vez agradeço a todos pela colaboração.
Grande abraço!
http://lattes.cnpq.br/9132700064717562
http://www.efium.com.br/
http://twitter.com/jlemosmoreira
#15
Posted 05/11/2017, 06:32
How Legit Are Online Viagra Sale Zithromax Skin Side Effects Discount Cheap Amoxicilina cheapest generic levitra no pres No Prescription Viagra Sidle Fail
Finasteride 1 Mega Propecia Medicamento Propecia viagra online prescription Cialis En Tenerife
1 user(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)