使用ASP:Button的服务器标签不是很好

时间:2016-08-15 05:54:56

标签: asp.net

我已经阅读了各种主题,发现在我的情况下没有任何帮助我。

根据我卖出的变量是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) %> />

2 个答案:

答案 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 %>" />