📜  在 asp.net 文本框大小中编辑更新删除 - C# (1)

📅  最后修改于: 2023-12-03 15:07:37.196000             🧑  作者: Mango

在 ASP.NET 文本框大小中编辑更新删除 - C#

在 ASP.NET Web 应用程序中,通常需要显示表格,并允许用户对表格数据进行编辑、更新和删除等操作。本文将介绍如何在 ASP.NET 中使用文本框(TextBox)来实现这些功能。

显示数据

首先,需要从数据库中获取数据,并将其显示在表格中。以下是获取数据并显示数据的代码:

protected void Page_Load(object sender, EventArgs e)
{
    if(!IsPostBack)
    {
        BindGridView();
    }
}

private void BindGridView()
{
    string connectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
    using(SqlConnection connection = new SqlConnection(connectionString))
    {
        SqlCommand command = new SqlCommand("SELECT * FROM Table1", connection);
        SqlDataAdapter adapter = new SqlDataAdapter(command);
        DataTable dataTable = new DataTable();
        adapter.Fill(dataTable);
        GridView1.DataSource = dataTable;
        GridView1.DataBind();
    }
}

这段代码会从名为 ConnectionString 的连接字符串中获取 SQL Server 连接信息,并执行一条 SQL 查询语句,将查询结果绑定到名为 GridView1 的 GridView 控件中。

编辑数据

当用户想要编辑表格中的数据时,可以将数据显示在文本框中,允许用户编辑,并在提交表单时更新数据库。以下是将数据绑定到文本框、提交表单时更新数据库的代码:

protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{
    GridView1.EditIndex = e.NewEditIndex;
    BindGridView();
}

protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
    GridViewRow row = GridView1.Rows[e.RowIndex];
    int id = Convert.ToInt32(row.Cells[0].Text);
    string name = ((TextBox)row.Cells[1].Controls[0]).Text;
    string email = ((TextBox)row.Cells[2].Controls[0]).Text;
    string connectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
    using(SqlConnection connection = new SqlConnection(connectionString))
    {
        SqlCommand command = new SqlCommand("UPDATE Table1 SET Name = @Name, Email = @Email WHERE Id = @Id", connection);
        command.Parameters.AddWithValue("@Id", id);
        command.Parameters.AddWithValue("@Name", name);
        command.Parameters.AddWithValue("@Email", email);
        connection.Open();
        command.ExecuteNonQuery();
    }
    GridView1.EditIndex = -1;
    BindGridView();
}

protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
{
    GridView1.EditIndex = -1;
    BindGridView();
}

这段代码会在用户点击编辑按钮时触发 GridView1_RowEditing 事件,将 GridView1 的 EditIndex 属性设置为用户选择的行的行索引,然后将表格绑定到文本框。当用户更新表格数据并提交表单时,GridView1_RowUpdating 事件会被触发,获取用户输入的数据,将其更新到数据库中,并将 GridView1 的 EditIndex 属性设置为 -1,以取消编辑状态。当用户取消编辑时,GridView1_RowCancelingEdit 事件将被触发,将 EditIndex 属性设置为 -1,以取消编辑状态。

删除数据

当用户想要删除表格中的数据时,可以在用户点击删除按钮时,从数据库中删除相应的记录。以下是从数据库中删除记录的代码:

protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
    GridViewRow row = GridView1.Rows[e.RowIndex];
    int id = Convert.ToInt32(row.Cells[0].Text);
    string connectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
    using(SqlConnection connection = new SqlConnection(connectionString))
    {
        SqlCommand command = new SqlCommand("DELETE FROM Table1 WHERE Id = @Id", connection);
        command.Parameters.AddWithValue("@Id", id);
        connection.Open();
        command.ExecuteNonQuery();
    }
    BindGridView();
}

这段代码会在用户点击删除按钮时触发 GridView1_RowDeleting 事件,将用户选择的行的行索引传递给事件处理程序,并从数据库中删除相应的记录。

以上是在 ASP.NET Web 应用程序中使用文本框实现编辑、更新和删除操作的示例代码。将其添加到代码中,可以让您的应用程序更加完善和实用。