Jen

批次刪除Repeater裏的資料

今天有一位BlueShop的網友在留言版上請教我一個問題, 問題如下


主題:Repeater+CheckBox part3


我是想做成這樣↓ 用Repeater呈現 <ItemTemplate>在螢幕上看會這樣↓ //□是CheckBox aabbcc分別是從DB連出來的東西 □ aaaaa □ bbbbb □ cccc <FooterTemplate>裡面會有個刪除的按鈕 所以流程是選完CheckBox之後(可能選一個也可能一次選多的),按下按鈕(按鈕是放在<FooterTemplate>裡面所以只會有一個)~

網友傳給我的示意圖:

1(1)

當下簡單的寫了幾行給網友參考一下 , 也歡迎樓上約樓下、阿公叫阿嬤、叔公帶七仔來指教一下 = =+....

default.aspx

<asp:Repeater ID="rp" runat="server">
    <ItemTemplate>
        <asp:CheckBox ID="cb" runat="server" />.......
        <asp:HiddenField ID="hfd_系統編號" 
        runat="server" Value='<%#Eval("系統編號") %>' />
    </ItemTemplate>
    <FooterTemplate>
        <asp:Button ID="btn" 
        runat="server" CommandNam="delCmd" Text="刪除" />
    </FooterTemplate>
</asp:Repeater>
 

default.aspx.cs

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Init(object sender, EventArgs e)
    {
        rp.ItemCommand += 
           new RepeaterCommandEventHandler(rp_ItemCommand);
    }

    void rp_ItemCommand(object source, RepeaterCommandEventArgs e)
    {
        if (e.CommandName.Equals("delCmd"))
        {
            foreach (RepeaterItem item in rp.Items)
            {
                if (((CheckBox)item.FindControl("cb")).Checked)
                {
                    int 系統編號 = Int32.Parse(((HiddenField)
                        item.FindControl("hfd_系統編號")).Value);
                    //接著做刪除動作...

                }
            }
        }
    }
}
 

0 意見: