vb.net встроенный ЕСЛИ с ИЛИ ... не оценивает - PullRequest
0 голосов
/ 30 марта 2010

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

  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>

Кто-нибудь может протянуть мне руку, чтобы исправить эту проблему?

1 Ответ

2 голосов
/ 30 марта 2010

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

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

...