zoukankan
html css js c++ java
Repeater嵌套,增删改查综合运用
using
System;
using
System.Data;
using
System.Data.SqlClient;
using
System.Configuration;
using
System.Web;
using
System.Web.Security;
using
System.Web.UI;
using
System.Web.UI.WebControls;
using
System.Web.UI.WebControls.WebParts;
using
System.Web.UI.HtmlControls;
public
partial
class
Default2 : System.Web.UI.Page
...
{
private
const
string
connectionStr
=
@"
Data Source=.SQLEXPRESS;AttachDbFilename=D:QianTaoApp_Datadb.mdf;Integrated Security=True;User Instance=True
"
;
protected
void
Page_Load(
object
sender, EventArgs e)
...
{
if
(
!
IsPostBack)
...
{
SetBind();
}
}
protected
void
rptClass_ItemCommand(
object
source, RepeaterCommandEventArgs e)
...
{
//
判断是否添加类别
if
(e.CommandName
==
"
AddClass
"
)
...
{
TextBox tb
=
e.Item.FindControl(
"
txtClassName
"
)
as
TextBox;
using
(SqlConnection conn
=
new
SqlConnection(connectionStr))
...
{
conn.Open();
using
(SqlCommand cmd
=
new
SqlCommand(
"
insert into tb_Class(className) values(@className)
"
, conn))
...
{
cmd.Parameters.AddWithValue(
"
@className
"
, tb.Text);
cmd.ExecuteNonQuery();
SetBind();
}
}
}
//
判断是否删除类别
if
(e.CommandName
==
"
DelClass
"
)
...
{
using
(SqlConnection conn
=
new
SqlConnection(connectionStr))
...
{
conn.Open();
using
(SqlCommand cmd
=
new
SqlCommand(
"
delete from tb_Module where classId=@classId;delete from tb_Class where id=@classId
"
, conn))
...
{
cmd.Parameters.AddWithValue(
"
@classId
"
, e.CommandArgument);
cmd.ExecuteNonQuery();
SetBind();
}
}
}
//
判断是否修改类别
if
(e.CommandName
==
"
UpdateClass
"
)
...
{
TextBox tb
=
e.Item.FindControl(
"
txtClassName
"
)
as
TextBox;
using
(SqlConnection conn
=
new
SqlConnection(connectionStr))
...
{
conn.Open();
using
(SqlCommand cmd
=
new
SqlCommand(
"
update tb_Class set className=@className where id=@id
"
, conn))
...
{
cmd.Parameters.AddWithValue(
"
@className
"
, tb.Text);
cmd.Parameters.AddWithValue(
"
@id
"
, e.CommandArgument);
cmd.ExecuteNonQuery();
SetBind();
}
}
}
//
判断是否添加模块
if
(e.CommandName
==
"
AddModule
"
)
...
{
TextBox tb
=
e.Item.FindControl(
"
txtModuleName
"
)
as
TextBox;
using
(SqlConnection conn
=
new
SqlConnection(connectionStr))
...
{
conn.Open();
using
(SqlCommand cmd
=
new
SqlCommand(
"
insert into tb_Module(classId,moduleName)values(@classId,@moduleName)
"
, conn))
...
{
cmd.Parameters.AddWithValue(
"
@moduleName
"
, tb.Text);
cmd.Parameters.AddWithValue(
"
@classId
"
, e.CommandArgument);
cmd.ExecuteNonQuery();
SetBind();
}
}
}
}
/**/
/**/
/**/
/**/
/**/
/**/
/**/
///
<summary>
///
嵌套repeater的ItemCommand事件
///
</summary>
protected
void
rptModule_ItemCommand(
object
source, RepeaterCommandEventArgs e)
...
{
//
判断是否删除模块
if
(e.CommandName
==
"
DelModule
"
)
...
{
using
(SqlConnection conn
=
new
SqlConnection(connectionStr))
...
{
conn.Open();
using
(SqlCommand cmd
=
new
SqlCommand(
"
delete from tb_Module where id=@Id;
"
, conn))
...
{
cmd.Parameters.AddWithValue(
"
@Id
"
, e.CommandArgument);
cmd.ExecuteNonQuery();
SetBind();
}
}
}
//
判断是否修改模块
if
(e.CommandName
==
"
UpdateModule
"
)
...
{
TextBox tb
=
e.Item.FindControl(
"
txtModuleName
"
)
as
TextBox;
using
(SqlConnection conn
=
new
SqlConnection(connectionStr))
...
{
conn.Open();
using
(SqlCommand cmd
=
new
SqlCommand(
"
update tb_Module set moduleName=@Name where id=@id
"
, conn))
...
{
cmd.Parameters.AddWithValue(
"
@Name
"
, tb.Text);
cmd.Parameters.AddWithValue(
"
@id
"
, e.CommandArgument);
cmd.ExecuteNonQuery();
SetBind();
}
}
}
}
/**/
/**/
/**/
/**/
/**/
/**/
/**/
///
<summary>
///
绑定Repeater
///
</summary>
private
void
SetBind()
...
{
DataSet ds
=
new
DataSet();
using
(SqlConnection conn
=
new
SqlConnection(connectionStr))
...
{
SqlDataAdapter adapter
=
new
SqlDataAdapter(
"
select * from tb_Class
"
,conn);
adapter.Fill(ds);
}
rptClass.DataSource
=
ds;
rptClass.DataBind();
}
protected
void
rptClass_ItemDataBound(
object
sender, RepeaterItemEventArgs e)
...
{
if
(e.Item.ItemType
==
ListItemType.Item
||
e.Item.ItemType
==
ListItemType.AlternatingItem)
...
{
Repeater rpt
=
e.Item.FindControl(
"
rptModule
"
)
as
Repeater;
//
找到分类Repeater关联的数据项
DataRowView rowv
=
(DataRowView)e.Item.DataItem;
//
提取分类ID
int
id
=
(
int
)rowv[
"
id
"
];
DataSet ds
=
new
DataSet();
using
(SqlConnection conn
=
new
SqlConnection(connectionStr))
...
{
SqlDataAdapter adapter
=
new
SqlDataAdapter(
"
select * from tb_Module where classId=
"
+
id
+
""
, conn);
adapter.Fill(ds);
}
rpt.DataSource
=
ds;
rpt.DataBind();
}
}
}
<%
...
@ Page Language
=
"
C#
"
AutoEventWireup
=
"
true
"
CodeFile
=
"
Default2.aspx.cs
"
Inherits
=
"
Default2
"
%>
<!
DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
>
<
html
xmlns
="http://www.w3.org/1999/xhtml"
>
<
head
runat
="server"
>
<
title
>
无标题页
</
title
>
</
head
>
<
body
>
<
form
id
="form1"
runat
="server"
>
<
div
>
<
asp:Repeater
ID
="rptClass"
runat
="server"
OnItemCommand
="rptClass_ItemCommand"
OnItemDataBound
="rptClass_ItemDataBound"
>
<
HeaderTemplate
>
<
table
>
<
tr
style
="background-color:yellow"
>
<
td
>
添加类别:
<
asp:TextBox
ID
="txtClassName"
runat
="server"
>
</
asp:TextBox
>
<
asp:Button
ID
="btnAddClass"
runat
="server"
CommandName
="AddClass"
Text
="添加"
/>
</
td
>
</
tr
>
</
HeaderTemplate
>
<
ItemTemplate
>
<
tr
style
="background-color:#CCCCCC"
>
<
td
>
<
asp:Button
ID
="btnDelClass"
CommandArgument
='<%#
Eval("id") %
>
' CommandName="DelClass" runat="server" Text="删除类别" />
<
asp:TextBox
ID
="txtClassName"
runat
="server"
Text
='<%#
Eval("className") %
>
'>
</
asp:TextBox
>
<
asp:Button
ID
="btnUpdateClass"
CommandArgument
='<%#
Eval("id") %
>
' CommandName="UpdateClass" runat="server" Text="修改类别" />
</
td
>
</
tr
>
<
tr
>
<
td
>
添加模块:
<
asp:TextBox
ID
="txtModuleName"
runat
="server"
>
</
asp:TextBox
>
<
asp:Button
ID
="btnAddModule"
runat
="server"
CommandName
="AddModule"
CommandArgument
='<%#
Eval("id") %
>
' Text="添加" />
</
td
>
</
tr
>
<
tr
>
<
td
>
<
asp:Repeater
ID
="rptModule"
runat
="server"
OnItemCommand
='rptModule_ItemCommand'
>
<
ItemTemplate
>
<
tr
>
<
td
>
-----------------
<
asp:Button
ID
="btnDeleteModule"
CommandArgument
='<%#
Eval("id") %
>
' CommandName="DelModule" runat="server" Text="删除模块" />
<
asp:TextBox
ID
="txtModuleName"
Text
='<%#
Eval("moduleName") %
>
' runat="server">
</
asp:TextBox
>
<
asp:Button
ID
="btnUpdateModule"
CommandArgument
='<%#
Eval("id") %
>
' CommandName="UpdateModule" runat="server" Text="修改模块" />
</
td
>
</
tr
>
</
ItemTemplate
>
</
asp:Repeater
>
</
td
>
</
tr
>
</
ItemTemplate
>
<
FooterTemplate
>
</
table
>
</
FooterTemplate
>
</
asp:Repeater
>
</
div
>
</
form
>
</
body
>
</
html
>
查看全文
相关阅读:
ul做导航栏
论布局,bfc,margin塌陷和合并,经典bug
mon-hom
新浪下拉菜单模仿
JQ筛选方法,筛选父子元素
JQuery筛选选择器
JQuery隐式迭代
python 和 C# DES加密
交互设计[1]--设计心理学
javascript学习(9)——[设计模式]单例
原文地址:https://www.cnblogs.com/aaa6818162/p/1452016.html
最新文章
js分钟数转天-时-分
gephi安装后无法打开
PeopleRank
pig报错
hadoop大事件
mapreduce
过度拟合(overfilting)
Eclipse将引用了第三方jar包的Java项目打包成jar文件
linux中文乱码
hadoop超租约报错:
热门文章
svn提交或更新代码的注意事项
eclipse使用
javap 反汇编命令
如何查看class文件所对应的JDK版本
Unresolved compilation problems
ORA-00911
plsql_ora_02296
The type javax.servlet.http.HttpServletRequest cannot be resolved.的解决方法
<botton>与<input type="button">的区别
webapis笔记
Copyright © 2011-2022 走看看