2013-04-10 81 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