Jump to content


Jackson Lemos

Member Since 17/09/2009
Offline Last Active 23/10/2014, 20:04
-----

Posts I've Made

In Topic: Condicionais No Asp.net

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!

In Topic: Condicionais No Asp.net

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!

In Topic: Condicionais No Asp.net

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.

IPB Skin By Virteq