一、添加
前台代码:

<body> <form id="form1" runat="server"> <h1>用户添加</h1> 用户名:<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox><br /><br /> 密码:<asp:TextBox ID="TextBox3" runat="server" TextMode="Password"></asp:TextBox><br /><br /> 确认密码:<asp:TextBox ID="TextBox4" runat="server" TextMode="Password"></asp:TextBox><br /><br /> 昵称:<asp:TextBox ID="TextBox6" runat="server"></asp:TextBox><br /><br /> 性别:<asp:RadioButtonList ID="RadioButtonList1" runat="server" RepeatDirection="Horizontal" RepeatLayout="Flow"> <asp:ListItem Value="true" Selected="True">男</asp:ListItem> <asp:ListItem Value="false">女</asp:ListItem> </asp:RadioButtonList><br /><br /> 生日:<asp:DropDownList ID="DropDownList2" runat="server"></asp:DropDownList>年<asp:DropDownList ID="DropDownList3" runat="server"></asp:DropDownList>月<asp:DropDownList ID="DropDownList4" runat="server"></asp:DropDownList>日<br /><br /> 民族:<asp:DropDownList ID="DropDownList1" runat="server" Width="122px"></asp:DropDownList><br /><br />         <asp:Button ID="Button1" runat="server" Text="注 册" /><br /> <asp:Label ID="Label1" runat="server" Text=""></asp:Label> </form> </body>
需要 对 性别、生日、民族、密码 操作:
1、性别:默认选中: <asp:ListItem Value="true" Selected="True">男</asp:ListItem>
2、生日 3、民族:
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack)//数据绑定 { for (int i = DateTime.Now.Year; i >= 1900; i--) { //添加年,创造一个ListItem,让其每循环一次就造一个 ListItem li = new ListItem(i.ToString(),i.ToString()); DropDownList2.Items.Add(li); } for (int i = 1; i <= 12; i++) { //月 ListItem li = new ListItem(i.ToString(), i.ToString()); DropDownList3.Items.Add(li); } for (int i = 1; i <= 31; i++) { //日 ListItem li = new ListItem(i.ToString(), i.ToString()); DropDownList4.Items.Add(li); } //取出民族的数据 DropDownList1.DataSource = new NationDA().Select(); DropDownList1.DataTextField = "NationName"; DropDownList1.DataValueField = "NationCode"; DropDownList1.DataBind(); } }
4、密码 :
JS验证一个 点击添加按钮,如果两次密码输入不一致,点击添加按钮不刷新页面,首先在前台确定密码框后面加一个Lable,来显示
JS写在head里:
<script type="text/javascript"> window.onload = function () {/*document操作取出密码框里内容*/ document.getElementById("Button1").onclick = function () { var pwd1 = document.getElementById("TextBox3").value; var pwd2 = document.getElementById("TextBox4").value; /* alert(pwd1);检测一下*/ /* alert(pwd2);*/ if (pwd1 != pwd2) { document.getElementById("Label2").innerText = "两次密码输入不一致"; return false;/*密码不一阻止刷新,一样就刷新*/ } }; }; </script> <style type="text/css"> #Label2 { color:red;/*Label2里所呈现的文字显示红色*/ } </style> </head>
点击添加按钮,把添加的内容填到数据库,并能显示在界面。添加点击事件里共 4步。
数据操作类里 做一个添加的方法:

public bool Insert(Users u) {//添加 bool isok = false; cmd.CommandText = "insert into Users values(@a,@b,@c,@d,@e,@f)"; cmd.Parameters.Clear(); cmd.Parameters.Add("@a", u.UserName); cmd.Parameters.Add("@b", u.PassWord); cmd.Parameters.Add("@c", u.NickName); cmd.Parameters.Add("@d", u.Sex); cmd.Parameters.Add("@e", u.Birthday); cmd.Parameters.Add("@f", u.Nation); conn.Open(); try { cmd.ExecuteNonQuery(); isok = true; } catch { } conn.Close(); return isok; }
<a href="zhuce.aspx" target="_blank">添加用户</a> 超链接到注册界面并新开一个网页页面;
Response.Write("<script>this.opener.location.href='Main.aspx';this.close();</script>"); 添加完点确定关闭当前页,显示主页并且刷新。
void Button1_Click(object sender, EventArgs e)//委托 { //1、构建一个Users对象 Users u = new Users(); u.UserName = TextBox1.Text; u.PassWord = TextBox3.Text; u.NickName = TextBox6.Text; u.Sex =Convert.ToBoolean( RadioButtonList1.SelectedItem.Value); string data=DropDownList2.SelectedValue+"-"+DropDownList3.SelectedValue+"-"+DropDownList4.SelectedValue; u.Birthday =Convert.ToDateTime( data); u.Nation = DropDownList1.SelectedItem.Value; //2、将此对象添加到数据库去,先在UserDA里添加方法 bool ok = new UsersDA().Insert(u); //3、提示添加成功 if (ok) { Response.Write("<script>alert('添加成功!')</script>"); Response.Write("<script>this.opener.location.href='Main.aspx';this.close();</script>"); //Response.Redirect("Main.aspx");//重定项 } else { Response.Write("<script>alert('添加失败!')</script>"); } //4、关闭此页面,刷新展示页面 //用JS写 }
Main代码:
<input id="btn1" type="button" value="添加用户" /> 添加按钮 <script> document.getElementById("btn1").onclick = function () { window.open("zhuce.aspx","_blank");打开一个新的页面 }; 点击添加按钮出来 添加页面 </script> </form> </body> </html>
二、删除
重新开一个窗体:Delete.aspx,
在Main前台密码加上一列: <td>操作</td>
<td><a href="delete.aspx">删除</a></td>
asox.cs代码:
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; public partial class delete : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { //1、获取要删除的主键值,username,做删除的方法 string Uname = Request["un"].ToString(); 获取请求 //2、删除 new UsersDA().Delete(Uname); //3、调回Main页面 Response.Redirect("Main.aspx"); } }
Main界面的前台代码:
<ItemTemplate> <tr class="tr_Item" style='<%#Eval("red") %>'> <td><%#Eval("UserName") %></td> <td><%#Eval("Password") %></td> <td><%#Eval("NickName") %></td> <td><%#Eval("Ssex") %></td> <td><%#Eval("Birthday2") %></td> <td><%#Eval("Age") %></td> <td><%#Eval("Nation") %></td> <td><a href="delete.aspx?un=<%#Eval("UserName") %>">删除</a></td> QueryString:传递 </tr> </ItemTemplate>
内置对象:
【1、】Response对象:响应请求
Response.Write("<script>alert('添加成功!')</script>");--显示
Response.Redirect("Default.aspx");--界面重定项
【2、】Request对象:获取请求
Request["key"]来获取传递过来的值
QueryString:地址栏数据传递 ?key=value&key=value
注意事项:不需要保密的东西可以传
不要传过长东西,因为长度有限,过长会造成数据丢失
三、修改
重新开一个窗体:xiugai.aspx,
在Main前台密码 列加:
<td><a href="#">修改</a></td>
修改窗体 aspx前台代码:

<h1>用户修改</h1> 用户名:<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label> <br /><br /> 密码:<asp:TextBox ID="TextBox3" runat="server" TextMode="Password"></asp:TextBox><br /><br /> 确认密码:<asp:TextBox ID="TextBox4" runat="server" TextMode="Password"></asp:TextBox><asp:Label ID="Label2" runat="server" Text=""></asp:Label><br /><br /> 昵称:<asp:TextBox ID="TextBox6" runat="server"></asp:TextBox><br /><br /> 性别:<asp:RadioButtonList ID="RadioButtonList1" runat="server" RepeatDirection="Horizontal" RepeatLayout="Flow"> <asp:ListItem Value="true" Selected="True">男</asp:ListItem> <asp:ListItem Value="false">女</asp:ListItem> </asp:RadioButtonList><br /><br /> 生日:<asp:DropDownList ID="DropDownList2" runat="server"></asp:DropDownList>年<asp:DropDownList ID="DropDownList3" runat="server"></asp:DropDownList>月<asp:DropDownList ID="DropDownList4" runat="server"></asp:DropDownList>日<br /><br /> 民族:<asp:DropDownList ID="DropDownList1" runat="server" Width="122px"></asp:DropDownList><br /><br />         <asp:Button ID="Button1" runat="server" Text="修 改" /><br />
Main 前台代码:
<td><a href="delete.aspx?un=<%#Eval("UserName") %>">删除</a>
<a href="xiugai.aspx?un=<%#Eval("UserName") %>">修改</a>
</td>
修改的方法:

//修改用 public Users Select(string Uname) { Users u = new Users(); cmd.CommandText = "select * from Users where UserName=@username "; cmd.Parameters.Clear(); cmd.Parameters.AddWithValue("@username", Uname); conn.Open(); SqlDataReader dr = cmd.ExecuteReader(); if (dr.HasRows) { dr.Read(); u.UserName = dr[0].ToString(); u.PassWord = dr[1].ToString(); u.NickName = dr[2].ToString(); u.Sex = Convert.ToBoolean(dr[3]); u.Birthday = Convert.ToDateTime(dr[4]); u.Nation =dr[5].ToString(); } conn.Close(); return u; } public bool Update(Users u) {//修改 bool isok = false; cmd.CommandText = "update Users set PassWord=@b,NickName=@c,Sex=@d,Birthday=@e,Nation=@f where UserName=@a"; cmd.Parameters.Clear(); cmd.Parameters.Add("@a", u.UserName); cmd.Parameters.Add("@b", u.PassWord); cmd.Parameters.Add("@c", u.NickName); cmd.Parameters.Add("@d", u.Sex); cmd.Parameters.Add("@e", u.Birthday); cmd.Parameters.Add("@f", u.Nation); conn.Open(); try { cmd.ExecuteNonQuery(); isok = true; } catch { } conn.Close(); return isok; }
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; public partial class xiugai : System.Web.UI.Page { string pwd = "";//定义一个全局变量 protected void Page_Load(object sender, EventArgs e) { //1、将传过来的主键值接收 string uname = Request["un"].ToString(); //2、通过主键值将对象查出来 Users u = new UsersDA().Select(uname); pwd = u.PassWord;//先记录一下 if (!IsPostBack)//数据绑定 { for (int i = DateTime.Now.Year; i >= 1900; i--) { //添加年,创造一个ListItem,让其每循环一次就造一个 ListItem li = new ListItem(i.ToString(), i.ToString()); DropDownList2.Items.Add(li); } for (int i = 1; i <= 12; i++) { //月 ListItem li = new ListItem(i.ToString(), i.ToString()); DropDownList3.Items.Add(li); } for (int i = 1; i <= 31; i++) { //日 ListItem li = new ListItem(i.ToString(), i.ToString()); DropDownList4.Items.Add(li); } //取出民族的数据 DropDownList1.DataSource = new NationDA().Select(); DropDownList1.DataTextField = "NationName"; DropDownList1.DataValueField = "NationCode"; DropDownList1.DataBind(); //3、将对象中的数据绑定到每一个控件上去 Label1.Text = u.UserName; TextBox6.Text = u.NickName; foreach (ListItem li in RadioButtonList1.Items) {//性别 if (u.Sex) { if (li.Value == "true") { li.Selected = true; } } else { if (li.Value == "false") { li.Selected = true; } } } DropDownList2.SelectedValue = u.Birthday.Year.ToString(); DropDownList3.SelectedValue = u.Birthday.Month.ToString(); DropDownList4.SelectedValue = u.Birthday.Day.ToString(); DropDownList1.SelectedValue = u.Nation; } Button1.Click += Button1_Click; } void Button1_Click(object sender, EventArgs e) { //1步、构建一个Users对象 Users u = new Users(); u.UserName = Label1.Text; if (TextBox3.Text == "" && TextBox4.Text == "") {//判断密码的 u.PassWord = pwd; } else { u.PassWord = TextBox3.Text; } u.NickName = TextBox6.Text; u.Sex = Convert.ToBoolean(RadioButtonList1.SelectedItem.Value); string data = DropDownList2.SelectedValue + "-" + DropDownList3.SelectedValue + "-" + DropDownList4.SelectedValue; u.Birthday = Convert.ToDateTime(data); u.Nation = DropDownList1.SelectedItem.Value; //2步、将此对象添加到数据库去,先在UserDA里添加方法 bool ok = new UsersDA().Update(u); //3步、提示添加成功 if (ok) { Response.Write("<script>alert('修改成功!')</script>"); 4步、Response.Write("<script>this.opener.location.href='Main.aspx';this.close();</script>"); //Response.Redirect("Main.aspx");//重定项 } else { Response.Write("<script>alert('修改失败!')</script>"); } //4、关闭此页面,刷新展示页面 //用JS写 } }