vb.net Inline-IF mit OR ... nicht der Bewertung
-
23-09-2019 - |
Frage
Ich bin auf einem kleinen Problem zu arbeiten, wo ich zeigen, ich versuche / verstecken ein Panel basiert auf zwei Kriterien
- Ein spezielles Datenfeld darf nicht leer sein
- Die spezifischen eingereichten Daten müssen auch gleich „Nicht Verschiebbare“ nicht
Leider ist dies nicht für mich scheint zu funktionieren (beachten Sie, dass entweder eine Einstellung oder die anderen Kriterien funktioniert gut.)
<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>
Kann jemand lend a hand dieses Problem für mich zu korrigieren?
Lösung
Die Syntax <%# %>
ist eine Datenbindung Syntax, nicht eine Inline-Ausdruck-Syntax. Sie können nicht prozeduralen Code in der es verwenden, wie Sie können in den Inline-Code <% %>
Tags.
Datenbindung Tags müssen eine einzelne Eval
oder Bind
Funktion enthalten. Wenn Sie bedingte Verzweigungen auf diese Funktionen basierend tun müssen, müssen Sie es tun Inline-Code um die Bindung Tags.