Repeater控件用得不是很多,用起來顯示數據非常方便,可以自定義顯示的格式,很靈活。性能也要比GridView好多了,但是Repeater沒有封裝"修改" "刪除"等功能,可是有時候卻需要這種功能卻不想去用GridView。本人就遇到過這種情況,開始只想對數據進行顯示沒有刪除的意思,但是后來考慮到還需要一個刪除功能,但分頁都已經做好了,不想改用GridView。心想Repeater控件實現刪除功能應該不麻煩吧!于是偷懶到百度一搜沒找到。 困難就在于怎么取當前行的ID,GridView里可以設置DataKeyName的,在通過取每行的keyname值來取的,而Vs2005的GridView更簡單,添加刪除完全封裝了,不用寫額外代碼。但Repeater正為了靈活性已經沒這屬性了,問問群里高手。終于有解決辦法了,通過刪除按鈕Button的CommandName的綁定來取的ID值 CommandName='<%# Eval("ID") %>' ,然后一個 OnCommand="BtnDel_Click"響應事件,對之進行刪除
? protected void BtnDel_Click(object sender, CommandEventArgs e)
??? {
??????? int ID = Convert.ToInt32(e.CommandName);
??????? string delSql = "delete from mailbox where id=" + ID;
??????? try
??????? {
??????????? DataUse.ExcuteNoqueryUser(delSql);
??????????? JSUtil.Alert(this.Page, "刪除成功!");
??????????? Server.Transfer("Mail_Admin.aspx");
??????? }
??????? catch (Exception ex)
??????? {
??????????? JSUtil.Alert(this.Page, ex.Message);
??????? }
??? }
上面方法的特別之處就是通過CommandName來綁定主鍵ID值再傳給事件里的sql變量
? protected void BtnDel_Click(object sender, CommandEventArgs e)
??? {
??????? int ID = Convert.ToInt32(e.CommandName);
??????? string delSql = "delete from mailbox where id=" + ID;
??????? try
??????? {
??????????? DataUse.ExcuteNoqueryUser(delSql);
??????????? JSUtil.Alert(this.Page, "刪除成功!");
??????????? Server.Transfer("Mail_Admin.aspx");
??????? }
??????? catch (Exception ex)
??????? {
??????????? JSUtil.Alert(this.Page, ex.Message);
??????? }
??? }
上面方法的特別之處就是通過CommandName來綁定主鍵ID值再傳給事件里的sql變量
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
