2012年9月3日 星期一

隱藏Table某一列

大概就是點選某些選項之後要隱藏Table某些欄位...
雖然可以用JavaScript做,但是我對C#比較熟,簡單來說就是能讓C#做的決不麻煩JavaScript...能用就好了!

最重要的地方就是使用id + runnat = "server"的屬性,這樣後端就可以抓到要動作的元素~
同理應該也可以隱藏或顯示任何html元素!

參考網址
前台程式碼,唯一要注意的就是AutoPostBack記得設...


    <div>
        <asp:RadioButtonList ID="rblFilter" runat="server" RepeatDirection="Horizontal"  AutoPostBack="true"
            onselectedindexchanged="rblFilter_SelectedIndexChanged">
            <asp:ListItem Value="ALL">全部顯示</asp:ListItem>
            <asp:ListItem Value="BlackSomeOne">濾掉討厭鬼</asp:ListItem>
        </asp:RadioButtonList>
    <table border="1">
        <tr>
            <td>人名</td>
            <td>說明</td>
       </tr>
       <tr>
            <td>Alice</td>
            <td>Girl</td>
       </tr>
       <tr id="BlackList" runat="server">
            <td>Paulfunn</td>
            <td>Half Girl</td>
       </tr>    
    </table>
    </div>



後台
記得顯示與否都要寫出來,因為選回另一項的時候還是需要看到該元素

        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void rblFilter_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (rblFilter.SelectedValue == "BlackSomeOne")
            {
                BlackList.Visible = false;
            }
            else
            {
                BlackList.Visible = true;
            }
        }

沒有留言:

張貼留言