估计你的意思是点击LinkButton时弹出一个对话确认框,然后根据用户选择再考虑时候删除?
如果是这样的话,你可以这样试试:
在Page_Load中加入如下代码
比如你的LinkButton.ID=btnDeleteDim j As Integer
For j = 0 To DataGrid1.Items.Count - 1
   CType(DataGrid1.Items(j).FindControl("btnDelete"), LinkButton).Attributes("onClick") = "javascript:return confirm('Are you sure delete this record?');"
Next
这样,不管点哪个LinkButton,都会先弹出一个对话框,选"确定"则执行Click事件,选"取消"则不执行此事件。

解决方案 »

  1.   

    icyer(),谢谢,你真是一位高手。
    请问你是否有Developer Express 的 XtraGrid and XtraEditors 控件?
      

  2.   

    findControl()这个函数很有用的,可以动态生成自己定义的控件
      

  3.   

    客气客气。
    其实我也是在这CSDN上知道其中的一些用法。
    我只是对其进行了一些扩充而已:)
      

  4.   

    没有人知道吗。CType在C#里面没有呀。
      

  5.   

    CType只是转换类型,在C#中,直接在对象前面加类型就可以了。
    比如:
    ((LinkButton)DataGrid1.Items(j).FindControl("btnDelete")).Attributes("onClick") = "javascript:return confirm('Are you sure delete this record?');"试试!
      

  6.   

    应该是:
    ((LinkButton)DataGrid1.Items[j].FindControl("btnDelete")).Attributes["onClick"] = "javascript:return confirm('Are you sure delete this record?');"
    忘了C#里的属性集合用"[..]"来取。
    前天没地方调试。Sorry.
      

  7.   

    我是用[...]取的。还是不行。
    我用另一种方法解决了。就是在提交事件中加入一段自己的脚本。模板列中使用<asp:button  
    cs文件中加入。Page.RegisterOnSubmitStatement("submit", "return window.confirm('是否确认');"); 在 Page_Load()中,就行了。
      

  8.   

    Page.RegisterOnSubmitStatement
    这个方法好像对所有提交事件都会起作用的。
      

  9.   

    C#中可以把代码放在ItemDataBound事件里:private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
        LinkButton btnDelete=(LinkButton)e.Item.FindControl("btnDelete");
        if(btnDelete!=null)
            btnDelete.Attributes["onClick"]="javascript:return confirm('Are you sure delete the record ?');";
    }