ASP.NET 内联代码 iif

ASP.NET inline code 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 is not member of mySite.aspx

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

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

解决方案:

我使用了这个代码:

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