Jump to content


Photo

Condicionais No Asp.net


  • Faça o login para participar
15 replies to this topic

#1 Jackson Lemos

Jackson Lemos

    Novato no fórum

  • Usuários
  • 5 posts
  • Sexo:Masculino
  • Localidade:Salvador-BA
  • Interesses:Aprendizado, parceria, informação ...

Posted 17/09/2009, 02:46

Olá Pessoal,

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

#2 nvivo

nvivo
  • Visitantes

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 Jackson Lemos

Jackson Lemos

    Novato no fórum

  • Usuários
  • 5 posts
  • Sexo:Masculino
  • Localidade:Salvador-BA
  • Interesses:Aprendizado, parceria, informação ...

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.

#4 Helder Lima

Helder Lima

    Novato no fórum

  • Usuários
  • 4 posts
  • Sexo:Não informado

Posted 18/09/2009, 17:34

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.

#5 Jackson Lemos

Jackson Lemos

    Novato no fórum

  • Usuários
  • 5 posts
  • Sexo:Masculino
  • Localidade:Salvador-BA
  • Interesses:Aprendizado, parceria, informação ...

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!

#6 Renato Maia

Renato Maia

    Turista

  • Usuários
  • 39 posts
  • Sexo:Masculino
  • Localidade:Ribeirão Preto
  • Interesses:Desenvolvimento e tecnologia.

Posted 23/09/2009, 10:15

Bom dia Jackson.

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");
Renato Maia
Microsoft Certified Prrofessional | MCP .NET
RenatoMaia.Net.br tudo sobre desenvolvimento .Net e Tecnologias.

#7 nvivo

nvivo
  • Visitantes

Posted 23/09/2009, 15:55


Edição feita por: nvivo, 24/09/2009, 21:57.


#8 Maykel Esser

Maykel Esser

    Super Veterano

  • Usuários
  • 1536 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR

Posted 23/09/2009, 16:05

de certa maneira, concordo com o renato. Sempre que possível, separar a interface da programação. Também faço tudo via code-behind, como indicou o renato!

Se este post lhe ajudou, ajude o fórum também. Use a reputação de mensagens! add.png


#9 nvivo

nvivo
  • Visitantes

Posted 23/09/2009, 16:47


Edição feita por: nvivo, 24/09/2009, 21:56.


#10 Maykel Esser

Maykel Esser

    Super Veterano

  • Usuários
  • 1536 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR

Posted 23/09/2009, 17:20

entendi!

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! :wacko:

Se este post lhe ajudou, ajude o fórum também. Use a reputação de mensagens! add.png


#11 Renato Maia

Renato Maia

    Turista

  • Usuários
  • 39 posts
  • Sexo:Masculino
  • Localidade:Ribeirão Preto
  • Interesses:Desenvolvimento e tecnologia.

Posted 24/09/2009, 00:17

Boa noite nvivo.

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...
Renato Maia
Microsoft Certified Prrofessional | MCP .NET
RenatoMaia.Net.br tudo sobre desenvolvimento .Net e Tecnologias.

#12 nvivo

nvivo
  • Visitantes

Posted 24/09/2009, 09:02


Edição feita por: nvivo, 24/09/2009, 21:56.


#13 Renato Maia

Renato Maia

    Turista

  • Usuários
  • 39 posts
  • Sexo:Masculino
  • Localidade:Ribeirão Preto
  • Interesses:Desenvolvimento e tecnologia.

Posted 24/09/2009, 10:50

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.
Renato Maia
Microsoft Certified Prrofessional | MCP .NET
RenatoMaia.Net.br tudo sobre desenvolvimento .Net e Tecnologias.

#14 Jackson Lemos

Jackson Lemos

    Novato no fórum

  • Usuários
  • 5 posts
  • Sexo:Masculino
  • Localidade:Salvador-BA
  • Interesses:Aprendizado, parceria, informação ...

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!

#15 LarPhozyHah

LarPhozyHah

    Super Veterano

  • Usuários
  • 14515 posts
  • Sexo:Masculino
  • Localidade:San Miguel de Tucuman

Posted 05/11/2017, 06:32

Donde Comprar Silagra Amoxicillin Warfarin Interaction Over The Counter Sex Pills In Canada generic viagra Frontal Hair Finasteride Propecia Viagra Cialis Ordonnance Skin Rashes From Amoxicillin
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)

IPB Skin By Virteq