带有OR的vb.net内联IF ...没有评估

时间:2010-03-30 00:23:02

标签: inline-if

我正在处理一个小问题,我试图根据两个标准显示/隐藏面板

  1. 特定数据字段不得为空
  2. 特定数据字段也必须不等于“Not Relocatable”
  3. 不幸的是,这对我来说似乎不起作用(请注意,设置其中一个或其他条件的工作正常。)

            <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 个答案:

答案 0 :(得分:2)

语法<%# %>数据绑定语法,而不是内联表达式语法。您不能像在内联代码<% %>标记中那样使用其中的过程代码。

数据绑定代码必须包含单个EvalBind函数。如果您需要根据这些函数进行条件分支,则需要使用绑定标记周围的内联代码来完成。