Question

Je travaille sur un petit problème où je suis en train de montrer / cacher un panneau en fonction de deux critères

  1. Un champ de données spécifique ne doit pas être vide
  2. Les données spécifiques déposées doivent pas non plus égale « Pas Relocatable »

Malheureusement, cela ne semble pas fonctionner pour moi (noter que le réglage soit l'un ou l'autre critère fonctionne très bien.)

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

Quelqu'un peut-il donner un coup de main pour remédier à ce problème pour moi?

Était-ce utile?

La solution

La <%# %> de syntaxe est liaison de données syntaxe, pas une syntaxe d'expression en ligne. Vous ne pouvez pas utiliser le code de procédure à l'intérieur de celui-ci comme vous pouvez dans les balises code en ligne de <% %>.

La liaison de données doivent contenir une seule fonction Eval ou Bind. Si vous devez faire branchement conditionnel en fonction de ces fonctions, vous devrez le faire en utilisant le code en ligne autour des balises de liaison.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top