vb.net встроенный ЕСЛИ с ИЛИ… не оценивается

StackOverflow https://stackoverflow.com/questions/2542133

  •  23-09-2019
  •  | 
  •  

Вопрос

Я работаю над небольшой проблемой, когда пытаюсь показать/скрыть панель на основе двух критериев.

  1. Определенное поле данных не должно быть пустым.
  2. Конкретные данные также не должны иметь значение «Не подлежит перемещению».

К сожалению, у меня это, похоже, не работает (обратите внимание, что установка одного или другого критерия работает нормально.)

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

Может ли кто-нибудь помочь мне решить эту проблему?

Это было полезно?

Решение

Синтаксис <%# %> это привязка данных синтаксис, а не синтаксис встроенного выражения.Вы не можете использовать внутри него процедурный код, как во встроенном коде. <% %> теги.

Теги привязки данных должны содержать один Eval или Bind функция.Если вам нужно выполнить условное ветвление на основе этих функций, вам нужно будет сделать это, используя встроенный код вокруг тегов привязки.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top