vb.net linea IF con O ... non valutare
-
23-09-2019 - |
Domanda
Sto lavorando su un piccolo problema in cui sto cercando di mostrare / nascondere un pannello in base a due criteri
- Un campo di dati specifici non deve essere vuoto
- I dati specifici archiviati deve anche non uguale "Non rilocabile"
Purtroppo questo non sembra funzionare per me (si noti che l'impostazione di uno o gli altri criteri funziona bene.)
<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>
Qualcuno può dare una mano per correggere questo problema per me?
Soluzione
Il <%# %>
sintassi è un dato legame sintassi, non un sintassi delle espressioni in linea. Non è possibile utilizzare codice procedurale all'interno di esso come è possibile nei tag codice inline <% %>
.
Dati tag vincolanti devono contenere una singola funzione o Eval
Bind
. Se avete bisogno di fare condizionale ramificazione sulla base di tali funzioni, è necessario farlo utilizzando il codice inline attorno ai tag vincolanti.