2013-04-10 36 views
0

我想弄清楚如何使用临时变量(从循环创建)来显示/隐藏按钮。 我有表格数据和一些动作按钮到他们身边。我需要能够根据数据的状态关闭和打开按钮。循环显示/隐藏基于内联代码的按钮

f.IsFoo是一个布尔

<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,它的语法和网上搜索刚才我感到困惑了。

回答

0

我个人倾向于把逻辑是这样的代码隐藏文件 - 但我相信下面的代码应该工作,

我添加了一个ID给您的按钮 - 而我也删除visibility属性 - 我然后引用按钮,通过它的ID - 并设置其知名度等于f.IsFoo财产

可能在这里试试这个:

<% btnFoo.Visible = f.IsFoo; %> 

<asp:Button ID="btnFoo" Text="Load" runat="server" OnClick="FooBar" /> 
+0

如果我在一个循环中设置我的按钮的ID,不该页面上的每个按钮都有该ID?或者只是最后一个?这是如何运作的? – 2013-04-10 01:08:47

+0

页面上的每个按钮都会有一个ID,但是asp.net生成的HTML会生成一个唯一的ID - 例如,如果您测试了这一点,那么html输出可能看起来像ID =“this_that_btnFoo_1” – 99823 2013-04-10 01:14:39

+0

- 然后查看源代码 - 你可以看到它输出 – 99823 2013-04-10 01:15:00