一、介绍
使用aspx窗体和ashx一般处理文件。
使用三层就行增删改查的基本操作。
数据库表如下图,文件结构
基础知识:
三层开发模式
获得get请求:Request.QueryString["name"]
获得post请求:Request.Form["name"]
二、实现创建一个listinfo.aspx
html界面
<body>
<form id="form1" runat="server">
<div>
<a href="AddUserInfo.aspx">添加用户</a>
<table>
<tr><th>编号</th><th>密码</th><th>删除</th><th>编辑</th></tr>
<% for (int i = 0; i < ds.Tables[0].Rows.Count; i++) {%>
<tr>
//通过c#代码赋值
<td> <%=ds.Tables[0].Rows[i]["ID"].ToString()%></td>
<td> <%=ds.Tables[0].Rows[i]["PASS"].ToString()%></td>
//连接get请求
<td><a href="Delete.ashx?id=<%=ds.Tables[0].Rows[i]["ID"]%>">删除</a></td>
<td><a href="EditUser.aspx?id=<%=ds.Tables[0].Rows[i]["ID"]%>">编辑</a></td>
</tr>
<%} %>
</table>
</div>
</form>
</body>
listinfo.aspx.cs
public partial class listinfo : System.Web.UI.Page
{
//构造一个DataSet对象,ds
public DataSet ds { get; set; }
protected void Page_Load(object sender, EventArgs e)
{
//实例BLL对象
Maticsoft.BLL.Table_User TBLL = new Maticsoft.BLL.Table_User();
//复制给DataSet,ds
ds=TBLL.GetAllList();
}
}
三、添加AddUserInfo.aspx
- html部分
<body>
<form id="form1" runat="server">
<div>
ID:<input type="text" name="txtID" /><br />
密码:<input type="password" name="txtPass" /><br />
<input type="submit" value="添加用户" />
</div>
</form>
</body>
- AddUserInfo.aspx.cs
protected void Page_Load(object sender, EventArgs e)
{
if (IsPostBack)
{
Maticsoft.BLL.Table_User bll = new Maticsoft.BLL.Table_User();
Maticsoft.Model.Table_User modelb = new Maticsoft.Model.Table_User();
//接收数据
modelb.ID=Request.Form["txtID"];
modelb.PASS = Request.Form["txtPass"];
//判断添加是否成功
bool a=bll.Add(modelb);
if (a)
{ //成功跳转到listinfo.aspx
Response.Redirect("listinfo.aspx");
}
else
{
Response.Redirect("/Error.html");
}
}
}
四、修改 EditUser.aspx
html部分
<body>
<form id="form1" runat="server">
<div>
ID:<input type="text" name="txtID" value="<%=id%>"/><br />
密码:<input type="password" name="txtPass" value="<%=pass %>" /><br />
<input type="submit" value="保存" />
</div>
</form>
</body>
EditUser.aspx.cs
public partial class EditUser : System.Web.UI.Page
{
public string id{ get; set; }
public string pass { get; set; }
protected void Page_Load(object sender, EventArgs e)
{ //如果是post方式,即提交修改
if (IsPostBack)
{ //修改函数
UpdateUserInfo();
}
else
{ //如果是get方式,即跳转过来的请求
ShowEditUserInfo();
}
}
//修改函数
public void UpdateUserInfo()
{
Maticsoft.Model.Table_User bmodel=new Maticsoft.Model.Table_User();
Maticsoft.BLL.Table_User bll=new Maticsoft.BLL.Table_User();
//获取数据
bmodel.ID =Request.Form["txtID"];
bmodel.PASS=Request.Form["txtPass"];
//判断更新
if (bll.Update(bmodel))
{ //更新完成,跳转到listinfo.aspx
Response.Redirect("listinfo.aspx");
}
else
{
Response.Redirect("/Error.html");
}
}
//显示数据函数
public void ShowEditUserInfo()
{ //获取get请求的参数
string s =Request.QueryString["id"];
Maticsoft.BLL.Table_User bll = new Maticsoft.BLL.Table_User();
Maticsoft.Model.Table_User bmol = new Maticsoft.Model.Table_User();
//获得model对象,并赋值
bmol=bll.GetModel(s);
id= bmol.ID;
pass = bmol.PASS;
}
}
五、删除 Delete.ashx
一般处理文件,因为不需要展示画面
Delete.ashx
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
//获得get请求的参数
string s = context.Request.QueryString["id"];
Maticsoft.BLL.Table_User bll = new Maticsoft.BLL.Table_User();
//执行删除,并用bool值判断
bool a=bll.Delete(s);
if (a)
{ //成功,跳转到listinfo.aspx
context.Response.Redirect("listinfo.aspx");
}
else
{
context.Response.Write("Hello World");
}
}
效果图
实现了简单了增删改查,有待完善。