Não consigo atribuir função javascript somente quando existir anexo
08/01/2015
0
Tenho esse código:
Acontece que eu preciso aplicar um javascript, através dessa classe: `class="linkUpload"`
Essa classe só pode acontecer, quando eu criar o hyperlink, caso contrário a classe não pode ser chamada. Toda tentativa minha de colocar essa classe não funcionou. Se eu colocar logo após o a, tipo: `<strong><a class="linkUpload" <%# Eval("DsPathDocumento") != null && ...</a></strong>`, quando eu tiver documento ele chama o popup, ok, correto e quando eu não tiver link, também chama o popup em branco. Ele sempre monta o href, mesmo sem documento anexo, como já discuti aqui no SOPT. Abaixo meu javascript:
A pergunta é: Como eu faço para atribuir o javascript na classe somente quando houver documento anexo.
Assim: Se eu possuo documento anexo, a expressão ternária acima no post, deverá executar a etapa após o símbolo "?" e caso não possui anexo, então executa a etapa após o ":", certo? Bem, acontece que de qualquer forma e não sei porque, ele está criando o underline referente ao href mesmo quando não existe anexo. Eu tenho a classe "linkUpload" que deveria ser executada somente quando há anexo. Se eu coloco essa classe logo após a tag "a", ela fica valendo para todas as situações na expressão ternária, ou seja, com ou sem anexo e eu não consigo chamar uma expressão ou comando html de dentro das tags do Asp.Net, então gerou o post: Como eu faço para atribuir a função apenas quando houver link, ou seja, somente quando a primeira parte da expressão ternária for executada.
O que eu quero é isso, ou algo semelhante. Tenho essa tag asp.net: `<% %>`. Como eu chamaria essa classe: `class="linkUpload"` dentro da tag asp.net?
Tentei fazer um if para atender melhor, acho, e não estou conseguindo. Tentei de várias maneiras e essa forma foi a última tentativa antes desse post.
Esse é o erro:
<strong><a <%# Eval("DsPathDocumento") != null && !String.IsNullOrEmpty(Eval("DsPathDocumento").ToString()) ? String.Concat("href='/UpLoads/", Eval("DsPathDocumento"), "'") : "style='cursor: default; color:#000000;'" %>> <%# Eval("NmTipoDocumento")%> </a></strong>
Acontece que eu preciso aplicar um javascript, através dessa classe: `class="linkUpload"`
Essa classe só pode acontecer, quando eu criar o hyperlink, caso contrário a classe não pode ser chamada. Toda tentativa minha de colocar essa classe não funcionou. Se eu colocar logo após o a, tipo: `<strong><a class="linkUpload" <%# Eval("DsPathDocumento") != null && ...</a></strong>`, quando eu tiver documento ele chama o popup, ok, correto e quando eu não tiver link, também chama o popup em branco. Ele sempre monta o href, mesmo sem documento anexo, como já discuti aqui no SOPT. Abaixo meu javascript:
$(document).ready(function () { $('.linkUpload').click(function (event) { event.preventDefault(); window.open($(this).attr("href"), "popupWindow", "scrollbars=yes"); }); });
A pergunta é: Como eu faço para atribuir o javascript na classe somente quando houver documento anexo.
Assim: Se eu possuo documento anexo, a expressão ternária acima no post, deverá executar a etapa após o símbolo "?" e caso não possui anexo, então executa a etapa após o ":", certo? Bem, acontece que de qualquer forma e não sei porque, ele está criando o underline referente ao href mesmo quando não existe anexo. Eu tenho a classe "linkUpload" que deveria ser executada somente quando há anexo. Se eu coloco essa classe logo após a tag "a", ela fica valendo para todas as situações na expressão ternária, ou seja, com ou sem anexo e eu não consigo chamar uma expressão ou comando html de dentro das tags do Asp.Net, então gerou o post: Como eu faço para atribuir a função apenas quando houver link, ou seja, somente quando a primeira parte da expressão ternária for executada.
O que eu quero é isso, ou algo semelhante. Tenho essa tag asp.net: `<% %>`. Como eu chamaria essa classe: `class="linkUpload"` dentro da tag asp.net?
Tentei fazer um if para atender melhor, acho, e não estou conseguindo. Tentei de várias maneiras e essa forma foi a última tentativa antes desse post.
<% if(Eval("DsPathDocumento") != null && !String.IsNullOrEmpty(Eval("DsPathDocumento").ToString())) {%> <strong><a class="linkUpload" <% String.Concat("href='/UpLoads/", Eval("DsPathDocumento"), "'"); %>> </a></strong> <%}%> <%else { %> <"style='cursor: default; color:#000000;'"> Eval("NmTipoDocumento") <%}%>
Esse é o erro:
Databinding methods such as Eval(), XPath(), and Bind() can only be used in the context of a databound control.
Pjava
Curtir tópico
+ 0
Responder
Posts
08/01/2015
Joel Rodrigues
Se você apenas criar o link, sem classe, e não houver documento, o href vai ficar em branco? Se sim, você pode simplificar e filtrar apenas os links que tiverem href diferente de vazio.
Responder
Clique aqui para fazer login e interagir na Comunidade :)