Pergunta

Estou trabalhando em um pequeno problema em que estou tentando mostrar/ocultar um painel com base em dois critérios

  1. Um campo de dados específico não deve estar em branco
  2. Os dados específicos arquivados também não devem ser iguais "não realocáveis"

Infelizmente, isso não parece estar funcionando para mim (observe que definir um ou outro critério funciona muito bem.)

        <asp:Panel runat="server" Visible='<%#If(Not String.IsNullOrEmpty(DataBinder.Eval(Container.DataItem, "_236")) Or Not DataBinder.Eval(Container.DataItem, "_236") = "Not Relocatable", True, False)%>'>
        <tr>
            <td>
            </td>
            <td class="align-right lightgreen">
                Buyer would consider relocating a business, if it is:
            </td>
            <td>
            </td>
            <td colspan="3">
                <%#DataBinder.Eval(Container.DataItem, "_236")%>
            </td>
            <td>
            </td>
        </tr>
        </asp:Panel>

Alguém pode ajudar para corrigir esse problema para mim?

Foi útil?

Solução

A sintaxe <%# %> é um ligação de dados Sintaxe, não uma sintaxe de expressão em linha. Você não pode usar o código processual dentro dele como você pode no código embutido <% %> Tag.

Tags de ligação de dados devem conter um único Eval ou Bind função. Se você precisar fazer ramificação condicional com base nessas funções, precisará fazê -lo usando o código embutido em torno das tags de ligação.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top