欢迎访问宙启技术站
智能推送

Repeater控件实现编辑、更新、删除操作的方法

发布时间:2023-05-16 08:04:31

Repeater控件是ASP.NET中一个非常实用的控件,它可以根据数据源的内容来动态生成HTML控件。它可以帮助开发人员快速的将数据源中的数据展示在页面上,并且可以提高页面的可重用性。除此之外,Repeater控件还可以支持一些操作,比如编辑、更新、删除等。接下来我们将会介绍在Repeater控件中如何实现数据的编辑、更新、删除操作。

一、编辑操作

首先我们需要在Repeater控件中添加一个编辑按钮,当用户点击编辑按钮时,就会出现数据编辑的页面。编辑页面中会显示原始数据,同时,用户可以对数据进行更改。当用户修改完数据后,需要点击保存按钮来更新数据源中的数据。下面是实现编辑操作的代码:

1.为Repeater控件添加编辑按钮

<asp:Repeater ID="Repeater1" runat="server">

    <ItemTemplate>

        <tr>

            <td><%#Eval("Name")%> </td>

            <td><%#Eval("Age")%> </td>

            <td><%#Eval("Gender")%> </td>

            <td><a href="edit.aspx?id=<%#Eval("Id")%>">Edit</a></td>

        </tr>

    </ItemTemplate>

</asp:Repeater>

2.在edit.aspx页面中获取数据

int Id = Convert.ToInt32(Request.QueryString["id"]);

SqlConnection con = new SqlConnection(connectionString);

con.Open();

SqlCommand cmd = new SqlCommand("SELECT * FROM UserInfo WHERE id=@id", con);

cmd.Parameters.AddWithValue("@id", Id);

SqlDataReader dr = cmd.ExecuteReader();

dr.Read();

TextBox1.Text = dr["Name"].ToString();

TextBox2.Text = dr["Age"].ToString();

TextBox3.Text = dr["Gender"].ToString();

dr.Close();

con.Close();

3.更新数据

SqlConnection con = new SqlConnection(connectionString);

con.Open();

SqlCommand cmd = new SqlCommand("UPDATE UserInfo SET Name=@Name, Age=@Age, Gender=@Gender WHERE id=@id", con);

cmd.Parameters.AddWithValue("@Name", TextBox1.Text);

cmd.Parameters.AddWithValue("@Age", TextBox2.Text);

cmd.Parameters.AddWithValue("@Gender", TextBox3.Text);

cmd.Parameters.AddWithValue("@id", Id);

cmd.ExecuteNonQuery();

con.Close();

二、删除操作

删除操作比较简单,只需要在Repeater控件中添加一个删除按钮即可。当用户点击删除按钮时,就会弹出一个确认框询问用户是否确定要删除该条数据。如果用户确认删除该数据,就会执行删除操作,否则不会进行任何操作。

1.为Repeater控件添加删除按钮

<asp:Repeater ID="Repeater1" runat="server">

    <ItemTemplate>

        <tr>

            <td><%#Eval("Name")%> </td>

            <td><%#Eval("Age")%> </td>

            <td><%#Eval("Gender")%> </td>

            <td><a href="#" onclick="return confirm('Are you sure you want to delete this record?');" href="delete.aspx?id=<%#Eval("Id")%>">Delete</a></td>

        </tr>

    </ItemTemplate>

</asp:Repeater>

2.执行删除操作

int Id = Convert.ToInt32(Request.QueryString["id"]);

SqlConnection con = new SqlConnection(connectionString);

con.Open();

SqlCommand cmd = new SqlCommand("DELETE FROM UserInfo WHERE id=@id", con);

cmd.Parameters.AddWithValue("@id", Id);

cmd.ExecuteNonQuery();

con.Close();

三、更新操作

在Repeater控件中更新数据也比较简单,只需要在编辑页面中提供一个保存按钮,当用户点击保存按钮时,就会执行更新操作,将用户修改后的数据保存到数据源中。

1.为Repeater控件添加编辑按钮

<asp:Repeater ID="Repeater1" runat="server">

    <ItemTemplate>

        <tr>

            <td><%#Eval("Name")%> </td>

            <td><%#Eval("Age")%> </td>

            <td><%#Eval("Gender")%> </td>

            <td><a href="edit.aspx?id=<%#Eval("Id")%>">Edit</a></td>

        </tr>

    </ItemTemplate>

</asp:Repeater>

2.更新数据

int Id = Convert.ToInt32(Request.QueryString["id"]);

SqlConnection con = new SqlConnection(connectionString);

con.Open();

SqlCommand cmd = new SqlCommand("UPDATE UserInfo SET Name=@Name, Age=@Age, Gender=@Gender WHERE id=@id", con);

cmd.Parameters.AddWithValue("@Name", TextBox1.Text);

cmd.Parameters.AddWithValue("@Age", TextBox2.Text);

cmd.Parameters.AddWithValue("@Gender", TextBox3.Text);

cmd.Parameters.AddWithValue("@id", Id);

cmd.ExecuteNonQuery();

con.Close();

总结:

通过以上的介绍,我们可以看到,在Repeater控件中实现数据的编辑、更新、删除操作并不复杂,只需要对控件进行一些简单的设置即可。在实际开发中,我们可以根据需求选择使用合适的操作来实现业务逻辑。