ASP.NET内联代码iif

时间:2015-10-26 14:41:17

标签: asp.net inline iif

我有以下代码:

<%# IIf(IsDBNull(Container.DataItem("idQuestionaire")), Me.pnlAdd.Visible = True, Me.pnlRemove.Visible = True)%> 

<asp:Panel ID="pnlAdd" runat="server" Visible="false">
        add
</asp:Panel>

<asp:Panel ID="pnlRemove" runat="server" Visible="false">
        remove
</asp:Panel>

所以我希望如果Container项为NULL,则“pnlAdd”是可见的。

但是我收到以下错误:

  

pnlAdd不是mySite.aspx的成员

2 个答案:

答案 0 :(得分:3)

似乎上下文不正确,不确定您是否可以在数据绑定表达式中执行此类操作。尝试通过直接将其嵌入标记来设置它,例如

<asp:Panel ID="pnlAdd" runat="server" Visible="<%# IsDBNull(Container.DataItem("idQuestionairre")) %>">
    add
</asp:Panel>

<asp:Panel ID="pnlAdd" runat="server" Visible="<%# !IsDBNull(Container.DataItem("idQuestionairre")) %>">
    remove
</asp:Panel>

答案 1 :(得分:0)

<强> SOLUTION:

我使用了这段代码:

         <asp:LinkButton ID="lbtnAdd" runat="server"  Text="::Add" Visible='<%# IIf(IsDBNull(Container.DataItem("idQuestionaire")), "true", "false")%>'></asp:LinkButton>
                <asp:LinkButton ID="lbtnRemove" runat="server"  Text="::Remove" Visible='<%# IIf(IsDBNull(Container.DataItem("idQuestionaire")), "false", "true")%>'></asp:LinkButton>