我已经阅读了各种主题,发现在我的情况下没有任何帮助我。
根据我卖出的变量是1还是0,我希望能够相应地显示或隐藏按钮。
我做了以下但是我得到的服务器标签没有格式错误,尽管更改了引号'和'(我知道也无济于事),但它仍然无法解决错误。
<asp:Button ID="btnMarkAsSold" OnClick="btnWantSell" runat="server" Text="Mark as sold" class="btn btn-warning btn-block higher bold" <%#(Eval("Sold").ToString() == "1" ? "style='display:none'" : String.Empty) %> />
<asp:Button ID="btnSold" runat="server" Text="SOLD" class="btn btn-danger btn-block higher bold" <%#(Eval("Sold").ToString() == "0" ? "style='display:none'" : String.Empty) %> />
答案 0 :(得分:2)
您不能直接在服务器控件中使用内联服务器标记。但是,您可以在属性中执行此操作:
<asp:Button ID="btnSold" runat="server" Text="SOLD" class="btn btn-danger btn-block higher bold" Visible="<%# Eval("Sold").ToString() == "0" ? false : true %>" />
<asp:Button ID="btnMarkAsSold" OnClick="btnWantSell" runat="server" Text="Mark as sold" class="btn btn-warning btn-block higher bold" Visible="<%#Eval("Sold").ToString() == "1" ? false : true %> />
答案 1 :(得分:2)
经过测试,以下工作
问题是style=display:none
。创建一个类hidden
的类,并将您的按钮更新为:
<asp:Button ID="btnSold" runat="server" Text="SOLD" class='btn btn-danger btn-block higher bold <%#(Eval("Sold").ToString() == "0" ? "hidden" : String.Empty) %>' />
<asp:Button ID="btnMarkAsSold" OnClick="btnWantSell" runat="server" Text="Mark as sold" class='btn btn-warning btn-block higher bold <%#(Eval("Sold").ToString() == "1" ? "hidden" : String.Empty) %>' />
<强> CSS 强>
hidden{ display:none;}
可见属性
按照@ Mahmood的回答中的建议使用按钮的Visible
属性
<asp:Button ID="btnSold" runat="server" Text="SOLD" class="btn btn-danger btn-block higher bold" Visible="<%# Eval("Sold").ToString() == "0" ? false : true %>" />