实现邮箱模样的删除功能:
第一步:把汽车表的数据显示出来。
1.把基本数据和相关联的系列名称、厂商名称显示出来
2.把复选框做出来。<input type=‘checkbox‘ id=‘cb<%#Eval("")%>‘ name=‘cb‘ value=‘<%#Eval("Code")%>‘>
第二步:做删除按钮
1.取出选中的汽车主键
string s = Request["cb"].ToString()
string[] keys = s.Split(‘,‘);
2.遍历删除
第三步:加删除之前的脚本判断
1.写个脚本函数。使用JS取出name=cb所有的复选框。
2.遍历判断每个是否被选中,并记数。
3.根据选中的记数,弹出相应的对话框。 return false,return true;
4.在删除按钮的OnClientClick使用return xxxx()调用这个脚本函数
第四步:删除成功后,的脚本提示。
在按钮的Click的C#代码最后,给界面上的Literal的Text赋值。传一个JS对话框的脚本代码过去。
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Web; 5 using System.Web.UI; 6 using System.Web.UI.WebControls; 7 using DA; 8 using Data; 9 10 public partial class _Default : System.Web.UI.Page 11 { 12 private void ShowCar() 13 { 14 //取出汽车里面的数据 并绑定 15 List<CarData> list = new CarDA().Select(); 16 Repeater1.DataSource = list; 17 Repeater1.DataBind(); 18 } 19 public string ShowBrandName() 20 { 21 //根据brand去查Brand表格里面的数据 22 string brandcode = Eval("brand").ToString(); 23 BrandData data = new BrandDA().Select(brandcode); 24 if (data != null) 25 { 26 return data.BrandName; 27 } 28 29 else 30 { 31 return "<空>"; 32 } 33 } 34 public string ShowProductorName() 35 { 36 //查厂商的名称需要先查出厂商的代号,代号去brand 表格里查 37 string brandcode = Eval("brand").ToString(); 38 BrandData data = new BrandDA().Select(brandcode); 39 //如果brand返回的数据不是空 40 if (data != null) 41 { 42 //g根据brand表中生产商家代号来查 用prod接受 43 ProductorData prod = new ProductorDA().Select(data.ProdCode); 44 //如果prod不是空 45 if (prod != null) 46 { 47 //f返回生产厂家的名字 48 return prod.ProdName; 49 } 50 else 51 { 52 //否则返回空 53 return "<空>"; 54 } 55 } 56 else 57 { 58 return "<空>"; 59 } 60 } 61 protected void Page_Load(object sender, EventArgs e) 62 { 63 if (!IsPostBack) 64 { 65 ShowCar(); 66 } 67 } 68 protected void Button1_Click(object sender, EventArgs e) 69 { 70 //取出勾选的主键(value)值 request可以接受?传过来的值也可以接受表单的Name值 71 if (Request["cb"] != null) 72 { 73 //获取勾选的值 74 string s = Request["cb"].ToString(); 75 //把获取到的值拆分成字符串的数组 76 string[] keys = s.Split(‘,‘); 77 //遍历 删除勾选中的选项 78 foreach (string key in keys) 79 { 80 CarDA.Delete(key); 81 } 82 //刷新界面 (重新调一遍数据库) 83 ShowCar(); 84 //删除成功后提示 85 Literal1.Text = "<script language=‘javascript‘>alert(‘删除成功‘);</script>"; 86 } 87 } 88 }
down load
1 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> 2 3 <!DOCTYPE html> 4 5 <html xmlns="http://www.w3.org/1999/xhtml"> 6 <head runat="server"> 7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> 8 <title></title> 9 <script language="javascript"> 10 function docheck(){ 11 //遍历所有复选框,检查选中状态 12 var cbs = document.getElementsByName("cb"); 13 var count = 0;//记录选中的个数 14 for (var i = 0; i < cbs.length; i++) 15 { 16 if (cbs[i].checked) 17 { 18 count++; 19 } 20 } 21 //r如果勾选的总数是0,以为这没有勾选 22 if (count == 0) 23 24 { 25 //提示,并返回false 停止默认操作 26 alert("请勾选要删除的项"); 27 return false; 28 } 29 else 30 { 31 //返回俩个只 确认就死true 取消就是false 32 var c = confirm("确认要删除么?"); 33 //返回C 确认就删除 取消就不删除 34 return c; 35 36 } 37 } 38 39 </script> 40 </head> 41 <body> 42 <form id="form1" runat="server"> 43 <div> 44 45 <asp:Repeater ID="Repeater1" runat="server"> 46 <ItemTemplate> 47 <div> 48 <input type="checkbox" id="cb<%#Eval("code") %>" name="cb" value="<%#Eval("code")%>" /> 49 <%#Eval("name") %> <%#ShowBrandName() %> <%#ShowProductorName() %> <%#Eval("price") %></div> 50 </ItemTemplate> 51 </asp:Repeater> 52 53 </div> 54 <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" OnClientClick="return docheck()" Text="删除" /> 55 <asp:Literal ID="Literal1" runat="server"></asp:Literal> 56 </form> 57 </body> 58 </html>
HTML 源代码
时间: 2024-10-13 11:06:07