时间:2016-02-16 00:13 来源: 我爱IT技术网 作者:佚名
欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【Repeater控件实现编辑、更新、删除等操作示例代码】,下面是详细的讲解!
Repeater控件实现编辑、更新、删除等操作示例代码
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
BindGrid();
}
}
private void BindGrid()
{
string strSQL="SELECT * FROM [User]";
OleDbConnection objConnection=new OleDbConnection(GetStrConnection());
objConnection.Open();
OleDbCommand objCommand=new OleDbCommand(strSQL, objConnection);
OleDbDataReader reader=objCommand.ExecuteReader(CommandBehavior.CloseConnection);
rptUser.DataSource=reader;
rptUser.DataBind();
}
protected void rptUser_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType==ListItemType.Item || e.Item.ItemType==ListItemType.AlternatingItem)
{
System.Data.Common.DbDataRecord record=(System.Data.Common.DbDataRecord)e.Item.DataItem;
int userId=int.Parse(record["UserId"].ToString());
if (userId !=id)
{
((Panel)e.Item.FindControl("plItem")).Visible=true;
((Panel)e.Item.FindControl("plEdit")).Visible=false;
}
else
{
((Panel)e.Item.FindControl("plItem")).Visible=false;
((Panel)e.Item.FindControl("plEdit")).Visible=true;
}
}
}
protected void rptUser_ItemCommand(object source, RepeaterCommandEventArgs e)
{
if (e.CommandName=="Edit")
{
id=int.Parse(e.CommandArgument.ToString());
}
else if (e.CommandName=="Cancel")
{
id=-1;
}
else if (e.CommandName=="Update")
{
string name=((TextBox)this.rptUser.Items[e.Item.ItemIndex].FindControl("txtName")).Text.Trim();
string email=((TextBox)this.rptUser.Items[e.Item.ItemIndex].FindControl("txtEmail")).Text.Trim();
string qq=((TextBox)this.rptUser.Items[e.Item.ItemIndex].FindControl("txtQQ")).Text.Trim();
string strSQL="UPDATE [User] SET Name=@Name,Email=@Email,QQ=@QQ WHERE UserId=@UserId";
OleDbConnection objConnection=new OleDbConnection(GetStrConnection());
OleDbCommand objCommand=new OleDbCommand(strSQL, objConnection);
objCommand.Parameters.Add("@Name", OleDbType.VarWChar);
objCommand.Parameters["@Name"].Value=name;
objCommand.Parameters.Add("@Email", OleDbType.VarWChar);
objCommand.Parameters["@Email"].Value=email;
objCommand.Parameters.Add("@QQ", OleDbType.VarWChar);
objCommand.Parameters["@QQ"].Value=qq;
objCommand.Parameters.Add("@UserId", OleDbType.Integer);
objCommand.Parameters["@UserId"].Value=int.Parse(e.CommandArgument.ToString());
objConnection.Open();
objCommand.ExecuteNonQuery();
objConnection.Close();
}
else if (e.CommandName=="Delete")
{
string strSQL="DELETE * FROM [User] WHERE UserId=@UserId";
OleDbConnection objConnection=new OleDbConnection(GetStrConnection());
OleDbCommand objCommand=new OleDbCommand(strSQL, objConnection);
objCommand.Parameters.Add("@UserId", OleDbType.Integer);
objCommand.Parameters["@UserId"].Value=int.Parse(e.CommandArgument.ToString());
objConnection.Open();
objCommand.ExecuteNonQuery();
objConnection.Close();
}
BindGrid();
}
private string GetStrConnection()
{
return "Provider=Microsoft.Jet.OleDb.4.0;data source=" + Server.MapPath("~/Database/test.mdb");
}
<</CODE>form id="form1" runat="server">
<</CODE>asp:Repeater ID="rptUser" runat="server" onitemcommand="rptUser_ItemCommand"
onitemdatabound="rptUser_ItemDataBound">
<</CODE>HeaderTemplate>
<</CODE>table width="960" align="center" cellpadding="3" cellspacing="1" style="background-color: #ccc;">
<</CODE>thead style="background-color: #eee;">
<</CODE>tr>
<</CODE>th width="10%">
用户ID
</</CODE>th>
<</CODE>th>
用户名
</</CODE>th>
<</CODE>th width="22%">
邮件
</</CODE>th>
<</CODE>th width="20%">
</</CODE>th>
<</CODE>th width="15%">
注册时间
</</CODE>th>
<</CODE>th width="12%">
操作
</</CODE>th>
</</CODE>tr>
</</CODE>thead>
<</CODE>tbody style="background-color: #fff;">
</</CODE>HeaderTemplate>
<</CODE>ItemTemplate>
<</CODE>asp:Panel ID="plItem" runat="server">
<</CODE>tr style="text-align: center;">
<</CODE>td>
关于Repeater控件实现编辑、更新、删除等操作示例代码的用户互动如下:
相关问题:
答: >>详细
相关问题:
答: >>详细
相关问题:
答: >>详细
- 【asp】asp.net url重写浅谈-net-url重写
- 【DataSet】DataSet、DataTable、DataRow区别详解
- 【asp】asp.net 动态添加多个用户控件-net-动态添
- 【ASP】ASP.NET中内嵌页面代码的一个问题-NET-内
- 【创建】ASP.NET Web API教程 创建域模型的方法详
- 【Asp】Asp.net 页面调用javascript变量的值-net-
- 【ASP】ASP.NET 5升级后如何删除旧版本的DNX-NET5
- 【404页面】ASP.NET设置404页面返回302HTTP状态码
- 【asp】asp.net开发中常见公共捕获异常方式总结(
- 【Visual】分享Visual Studio原生开发的10个调试
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
