ASP.NET 实用代码示例:窗口打开与确认对话框

需积分: 3 1 下载量 58 浏览量 更新于2024-12-04 收藏 23KB TXT 举报
"asp.net常用代码片段集合,包括打开新窗口传递参数、添加确认对话框到按钮操作、删除记录以及在DataGrid中处理删除操作的方法。" 在ASP.NET开发中,经常会遇到一些常见的代码需求,例如与用户交互、数据操作等。以下是一些ASP.NET中的常用代码示例: 1. 打开新窗口并传送参数 当需要在一个新的浏览器窗口中打开一个页面并传递参数时,可以使用JavaScript的`window.open()`方法。在ASP.NET中,可以通过`Response.Write`将JavaScript代码写入HTTP响应,如下所示: ```csharp string param1 = this.DropDownList1.SelectedItem.Value; string param2 = "your_value"; Response.Write("<script>window.open('new_page.aspx?id=" + param1 + "&param2=" + param2 + "');</script>"); ``` 这段代码会根据DropDownList1的选择项值和指定的第二个参数打开一个新的页面`new_page.aspx`。 2. 为按钮添加确认对话框 在用户点击按钮执行操作前,通常会显示一个确认对话框。这可以通过给按钮添加`onclick`事件处理程序实现,如下: ```csharp Button1.Attributes.Add("onclick", "return confirm('确定要执行此操作吗?')"); // 或者更复杂的逻辑 button.Attributes.Add("onclick", "if(confirm('are you sure?')){return true;}else{return false;}"); ``` 这样,当用户点击按钮时,会弹出一个确认对话框,只有在用户点击"确定"时,才会继续执行按钮的默认行为。 3. 删除记录 删除数据库记录通常涉及从某个表中根据特定ID删除一行。以下是一个简单的示例,假设有一个名为`Employee`的表,其主键为`emp_id`: ```csharp int empID = (int)MyDataGrid.DataKeys[e.Item.ItemIndex]; // 获取选中行的ID string deleteCmd = "DELETE FROM Employee WHERE emp_id=" + empID.ToString(); // 然后执行SQL命令,例如使用SqlCommand对象的ExecuteNonQuery方法 ``` 这段代码会获取DataGrid中当前选中行对应的`emp_id`,并构建一个删除该记录的SQL语句。 4. 在DataGrid中处理删除操作 当在DataGrid中显示数据并允许用户删除记录时,通常会在每一行中添加一个删除按钮。在`DataGrid_ItemCreated`事件中,可以为每个删除按钮添加点击事件处理程序,如下: ```csharp private void DataGrid_ItemCreated(object sender, DataGridItemEventArgs e) { if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.EditItem) { TableCell myTableCell = e.Item.Cells[14]; // 假设删除按钮位于第14列 LinkButton myDeleteButton = (LinkButton)myTableCell.Controls[0]; // 获取该列的第一个控件,即删除按钮 myDeleteButton.CommandArgument = e.Item.ItemIndex.ToString(); // 设置按钮的CommandArgument属性,用于标识行号 myDeleteButton.CommandName = "Delete"; // 设置CommandName,以便在Command事件中区分不同类型的命令 myDeleteButton.Attributes.Add("onclick", "return confirm('确定要删除此记录吗?');"); } } ``` 然后,在`DataGrid_Command`事件中,可以检查`CommandName`来执行删除操作,并使用`CommandArgument`来获取对应行的索引。 这些代码片段展示了ASP.NET中常见的一些功能实现,帮助开发者更好地理解和处理日常开发任务。在实际应用中,需要确保对SQL注入和其他安全问题进行适当的防护,例如使用参数化查询或存储过程来执行数据库操作。同时,对于用户交互,应当提供足够的反馈,以增强用户体验。