Asp.net 循环时基于内联代码显示/隐藏按钮
我试图弄清楚如何使用临时变量(从循环中创建)来显示/隐藏按钮。 我有表格数据和一些动作按钮在旁边。我需要能够根据数据的状态关闭和打开按钮 f、 IsFoo是一个布尔值Asp.net 循环时基于内联代码显示/隐藏按钮,asp.net,Asp.net,我试图弄清楚如何使用临时变量(从循环中创建)来显示/隐藏按钮。 我有表格数据和一些动作按钮在旁边。我需要能够根据数据的状态关闭和打开按钮 f、 IsFoo是一个布尔值 <table stuff here> <% foreach (Foo f in listOfFoos) { %> <tr> <td> <%= Fubar(f)%> </td>
<table stuff here>
<% foreach (Foo f in listOfFoos) { %>
<tr>
<td>
<%= Fubar(f)%>
</td>
<td>
<%= Fubar1(f) %>
</td>
<td>
<%= Fubar2(f)%>
</td>
<td>
<%= Fubar3(f)%>
</td>
<td>
<%= Fuba4(f)%>
</td>
<td>
<%= Fubar5(f)%>
</td>
<td>
<asp:Button Text="Load" runat="server" OnClick="FooBar" Visible='<%= f.IsFoo%>'/>
</td>
</tr>
<%}%>
我对aspx还很陌生,它的语法和在线搜索让我更加困惑。我个人倾向于将这样的逻辑放在代码隐藏文件中-但是我相信下面的代码应该可以工作 我在按钮中添加了一个ID,并且删除了visibility属性,然后根据按钮的ID引用该按钮,并将其可见性设置为f.IsFoo属性的可见性 可能在这里尝试一下:
<% btnFoo.Visible = f.IsFoo; %>
<asp:Button ID="btnFoo" Text="Load" runat="server" OnClick="FooBar" />
如果我在循环中的按钮上设置了一个ID,那么该页面上的每个按钮都有该ID吗?还是最后一个?这是如何工作的?页面上的每个按钮都有一个ID,但是asp.net生成的HTML将生成一个唯一的ID-例如,HTML输出可能看起来像ID=“this\u that\u btnFoo\u 1”如果你测试这个-然后查看源代码-你可以看到它输出的是什么?我想我真正的问题是我在循环中做这件事会有困难吗?不-它应该工作得很好,我在本地复制和测试(尽可能多)没有问题-试一下我的代码,如果你有问题或疑问,让我知道。