📅  最后修改于: 2023-12-03 15:07:37.196000             🧑  作者: Mango
在 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 应用程序中使用文本框实现编辑、更新和删除操作的示例代码。将其添加到代码中,可以让您的应用程序更加完善和实用。