三层架构下的GridView的增删改文档格式.docx
- 文档编号:16248794
- 上传时间:2022-11-21
- 格式:DOCX
- 页数:14
- 大小:83.79KB
三层架构下的GridView的增删改文档格式.docx
《三层架构下的GridView的增删改文档格式.docx》由会员分享,可在线阅读,更多相关《三层架构下的GridView的增删改文档格式.docx(14页珍藏版)》请在冰豆网上搜索。
set{_UserName=value;
///密码
publicstringPassword
get{return_Password;
set{_Password=value;
}
该类可以获得User类的各个字段。
2)DiaryDAL(数据访问层)
由于本层要用到数据库的相关操作,所以这里用到了微软封装的DBHelper.cs类。
DBHelper类访问了Web网站的配置文件,获得连接字符串,DiaryDAL要添加引用System.configuration。
Web网站的Web.config文件相关代码如下:
<
appSettings>
<
addkey="
DbHelperProvider"
value="
System.Data.SqlClient"
/>
/appSettings>
connectionStrings>
addname="
DbHelperConnectionString"
connectionString="
DataSource=FAN;
InitialCatalog=test;
UserID=sa;
Password=20;
ConnectTimeout=18000"
/connectionStrings>
(将DBHelper.cs类纺织DiaryDAL目录下,要注意的是DBHelper类下的命名空间要改为DiaryDAL)
新建一个UserService.cs类,实现增删改查等相关操作,具体代码如下所示:
usingSystem.Data;
usingDiaryModel;
//记得要添加引用
namespaceDiaryDAL
publicclassUserService
//添加
publicstaticboolAdd(Usersuser)
stringsql="
insertintoUsers(username,password)values(@username,@password)"
;
Dictionary<
string,object>
dic=newDictionary<
();
dic.Add("
@username"
user.UserName);
@password"
user.Password);
returnDBHelper.ExecuteNonQuery(sql,dic)>
0?
true:
false;
//删除
publicstaticboolDelete(intUserID)
deletefromUserswhereID=@UserID"
string,object>
dic=newDictionary<
@UserID"
UserID);
false;
//修改
publicstaticboolModify(Usersuser)
updateUserssetusername=@username,password=@passwordwhereID=@UserID"
user.UserID);
//显示
publicstaticList<
Users>
GetAllUsers()
select*fromUsers"
DataTabledt=DBHelper.GetDataSet(sql);
List<
list=newList<
foreach(DataRowdrindt.Rows)
Usersuser=newUsers();
user.UserID=(int)dr["
ID"
];
user.UserName=dr["
username"
].ToString();
user.Password=dr["
password"
list.Add(user);
returnlist;
3)DiaryBLL(业务逻辑层)
新建一个UserManage.cs类,具体代码如下:
namespaceDiaryBLL
publicclassUserManage
returnDiaryDAL.UserService.Add(user);
returnDiaryDAL.UserService.Delete(UserID);
returnDiaryDAL.UserService.Modify(user);
returnDiaryDAL.UserService.GetAllUsers();
4Web网站的设计
为了实现三层架构下的增删改操作,我们用到了GridView控件,界面如下如所示:
GridView的设计过程如下:
拖放一个GridView控件到页面中,然后添加三个BoundField字段,HeaderText属性分别为用户ID、用户名、密码,绑定字段分别为ID,username,password,一个CommandField字段,显示编辑按钮和删除按钮,然后再将上述四个字段转化为模板列。
前台代码如下:
<
%@PageLanguage="
C#"
AutoEventWireup="
true"
CodeFile="
Default.aspx.cs"
Inherits="
_Default"
%>
!
DOCTYPEhtmlPUBLIC"
-//W3C//DTDXHTML1.0Transitional//EN"
"
http:
//www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
>
htmlxmlns="
//www.w3.org/1999/xhtml"
>
headrunat="
server"
title>
无标题页<
/title>
/head>
body>
formid="
form1"
runat="
div>
用户列表:
br/>
asp:
GridViewID="
GridView1"
AutoGenerateColumns="
False"
BackColor="
White"
BorderColor="
#CCCCCC"
BorderStyle="
None"
BorderWidth="
1px"
CellPadding="
3"
PageSize="
4"
Width="
778px"
OnRowDeleting="
GridView1_RowDeleting"
OnRowDataBound="
GridView1_RowDataBound"
OnRowEditing="
GridView1_RowEditing"
OnRowCancelingEdit="
GridView1_RowCancelingEdit"
OnRowUpdating="
GridView1_RowUpdating"
FooterStyleBackColor="
ForeColor="
#000066"
/>
RowStyleForeColor="
Columns>
TemplateFieldHeaderText="
用户ID"
ItemTemplate>
LabelID="
Label1"
Text='
%#Bind("
UserID"
)%>
'
/asp:
Label>
/ItemTemplate>
TemplateField>
用户名"
EditItemTemplate>
TextBoxID="
TextBox2"
UserName"
TextBox>
/EditItemTemplate>
Label2"
密码"
TextBox3"
Password"
Label3"
操作"
ShowHeader="
LinkButtonID="
LinkButton1"
CausesValidation="
True"
CommandName="
Update"
Text="
更新"
LinkButton>
LinkButton2"
Cancel"
取消"
Edit"
编辑"
Delete"
OnClientClick="
javascript:
returnconfirm('
确认要删除么?
);
"
删除"
/Columns>
PagerStyleBackColor="
HorizontalAlign="
Left"
SelectedRowStyleBackColor="
#669999"
Font-Bold="
HeaderStyleBackColor="
#006699"
GridView>
/div>
添加用户<
用户名:
tb_username"
密码:
&
nbsp;
&
tb_pwd"
ButtonID="
Button1"
添加"
OnClick="
Button1_Click"
/form>
/body>
/html>
后台代码如下所示:
usingSystem.Configuration;
usingSystem.Web;
usingSystem.Web.Security;
usingSystem.Web.UI;
usingSystem.Web.UI.WebControls;
usingSystem.Web.UI.WebControls.WebParts;
usingSystem.Web.UI.HtmlControls;
publicpartialclass_Default:
System.Web.UI.Page
protectedvoidPage_Load(objectsender,EventArgse)
if(!
IsPostBack)
Bind();
protectedvoidBind()
GridView1.DataSource=DiaryBLL.UserManage.GetAllUsers();
GridView1.DataBind();
protectedvoidButton1_Click(objectsender,EventArgse)
user.UserName=this.tb_username.Text.ToString().Trim();
user.Password=this.tb_pwd.Text.ToString().Trim();
boolbol=DiaryBLL.UserManage.Add(user);
if(bol)
Response.Redirect("
Default.aspx"
protectedvoidGridView1_RowDeleting(objectsender,GridViewDeleteEventArgse)
intUserID=Convert.ToInt32((GridView1.Rows[e.RowIndex].FindControl("
)asLabel).Text);
boolbol=DiaryBLL.UserManage.Delete(UserID);
else
Response.Write("
script>
alert('
删除失败'
location.href=Default.aspx;
/script>
protectedvoidGridView1_RowDataBound(objectsender,GridViewRowEventArgse)
if(e.Row.RowType==DataControlRowType.DataRow)
LinkButtonlb=e.Row.FindControl("
)asLinkButton;
if(lb.Text=="
)
lb.Attributes.Add("
onclick"
"
///让当前处于修改状态
paramname="
sender"
/param>
e"
protectedvoidGridView1_RowEditing(objectsender,GridViewEditEventArgse)
GridView1.EditIndex=e.NewEditIndex;
///让当前行处于绑定状态
protectedvoidGridView1_RowCancelingEdit(objectsender,GridViewCancelEditEventArgse)
GridView1.EditIndex=-1;
///更新至数据库
protectedvoidGridView1_RowUpdating(objectsender,GridViewUpdateEventArgse)
user.UserID=Convert.ToInt32((GridView1.Rows[e.RowIndex].FindControl("
user.UserName=(GridView1.Rows[e.RowIndex].FindControl("
)asTextBox).Text.ToString();
user.Password=(GridView1.Rows[e.RowIndex].FindControl("
boolbol=DiaryBLL.UserManage.Modify(user);
修改成功'
修改失败'
最后重新生成下解决方案,然后运行你的网站!
祝大家成功!
!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 三层 架构 GridView 增删