当用户从命令字段中单击“删除”按钮时,我需要提示一个窗口并询问:“您确定要删除Joe Smith吗?”
我在客户端编写但我需要显示行的名称。
<asp:CommandField ButtonType="Button" ShowDeleteButton="True" ShowEditButton="True"
HeaderText="Action" />
<asp:TemplateField ShowHeader="False">
<ItemTemplate>
<asp:Button ID="DeleteButton" runat="server"
CommandName="Delete" Text="Delete" OnClientClick="return confirm('Are you sure you want to delete this event?');"
AlternateText="Delete" />
</ItemTemplate>
这是删除行的代码。反正有没有在这个方法中编写提示?或者我需要做一个RowDataBound。
protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
try
{
string connectionString = System.Configuration.ConfigurationManager.AppSettings["DBConnection"];
SqlConnection connDel = new SqlConnection(connectionString);
int User_ID = Convert.ToInt32(GridView1.DataKeys[e.RowIndex].Value);
SqlCommand cmd = new SqlCommand("DELETE FROM DoNotPay_Email_List WHERE User_ID=" + User_ID + "", connDel);
connDel.Open();
int temp = cmd.ExecuteNonQuery();
/* if (temp == 1)
{
lblMessage.Text = "Record deleted successfully";
}*/
BindGrid();
cmd.Dispose();
connDel.Close();
}
catch (SqlException ex)
{
lblMessage.Text = (ex.Message);
}
}
答案 0 :(得分:0)
你不想在Row_Deleting中这样做,因为它正在运行服务器端;如果你走这条路,你需要为每个删除操作进行多次回发。
您需要在RowDataBound事件中设置OnClientClick属性,您可以在其中访问绑定的行值,并且可以连接您的消息以包含您想要的任何数据。
编辑:在第3步中查看RowDataBound代码,它将向您展示如何获取对按钮的引用,检索行数据以及自定义提示文本。