如题.代码如下:
Response.Write ("<script language='javascript'>function confirm_delete() {confirm('您确实要删除此项目吗?');</script>") ; //执行删除操作,操作完成以后回到开始的页面
try
{
DeleteNumber(Request.QueryString ["numbers"]) ;
}
catch
{
Response.Write ("<script language='javascript'>alert('删除记录失败!');</script>") ;
} Response.Write ("<script language='javascript'>alert('删除记录成功!');</script>") ;

Response.Redirect ("Soft2_1.aspx") ;

解决方案 »

  1.   

    Response.Write ("<script language='javascript'>function confirm_delete() {confirm('您确实要删除此项目吗?')};</script>") ;
    少了一个右括号}.
      

  2.   

    Del.Attributs.Add("onclick","return confirm('你确定要删除吗?');")这句放在IF(!PAGE.ISPOSTBACK)外面.Del为删除按扭的ID
      

  3.   

    Del.Attributs.Add("onclick","return confirm('你确定要删除吗?');")这句放在IF(!PAGE.ISPOSTBACK)外面.Del为删除按扭的ID
      

  4.   

    Del.Attributs.Add("onclick","return confirm('你确定要删除吗?');")这句放在IF(!PAGE.ISPOSTBACK)外面.Del为删除按扭的ID
    放在里面也可以吧
    如果控件是在DATAGRID中的控件的话请联接我的BLOG:http://blog.csdn.net/wd_terry/
      

  5.   

    你的情况我以前也遇见过,具体原理我也不是很清楚,但是有一点经验:在服务器端写Script脚本的话,请确保该脚本是该函数中执行的最后一句,否则很可能会因为函数或页面跳转而无法显示出来。
        之前几位高手提出的方法很好,尤其当你的这段程序是写在XXX_Click(...)事件中的时候,添加Del.Attributs.Add("onclick","return confirm('你确定要删除吗?');")可以很方便的解决你的问题.但是如果在你的:Response.Write ("<script language='javascript'>function confirm_delete() {confirm('您确实要删除此项目吗?');</script>") ;之前还有代码,那么就不行了,因为服务器端在执行的过程中不会因为有一句confirm就会停下来等你去做交互,而是把你后边的代码都执行了才一并返回到客户端,因此这样写是不行的(肯能是我水平太低不知怎么做)。
        如果你的Response.Write 夹在一段服务器端代码中间,我这里有种笨方法:
    string script = "<script lanuage='javascript'>check();</scriptPage.RegisterStartupScript(Guid.NewGuid().ToString(),script);>";(调用一个客户端时间,有客户端之间来提示确认信息)
    到这里服务器端方法结束在客户端;
    function check()
    {
    var all = window.confirm("您确实要删除此项目吗?");
    var obj = document.getElementById("txtAll");
    if (all )
    {
    document.getElementById("btn1").disabled = false;
    document.getElementById("btn1").click();
    }
    }
    这里btn1是一个隐藏的按钮,有这个按钮再去调用一个服务器端的Click事件,这时你代码中剩下的部分就可以放在Click事件中了,这样做就把交互动作留在了客户端,客户端、服务器端只作自己该做的事,我个人觉得把交互的Script脚本写在客户端一是风格不好,最重要的还是不知道什么时候会不能正确执行,这都是我的一面之词,目前我还没有找到更好的做法,希望有大虾能指出我的错误,给出一个好的结决方法,我在这里和搂主一并谢了!
      

  6.   

    谢谢楼上的.我的这段代码不是丛点击按钮开始执行的.而是点击的按钮都是绑定到了Grid控件,所以没有Onclick事件.
      

  7.   

    正在看wd_terry(IQ+EQ=QQ)提供的BLOG,先谢谢啦^_^
      

  8.   

    To:wd_terry(IQ+EQ=QQ)
    我看了你的BLOG,
    private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
      {
       HyperLink Button1=(HyperLink)e.Item.FindControl("删除");
       if(Button1!=null)
       {
        Button1.Attributes.Add("onclick","return confirm('删除后将不可恢复,是否继续?');");
       }
      } 
    我的那个绑定的按钮为HyperLink按钮,然后那个FindControl函数里的参数为按钮的文本.运行没有错误,但是提示对话框还是不能出来,是不是还要哪个地方要注意的还是哪个地方错了呢?
      

  9.   

    可能是因为Response.Redirect ("Soft2_1.aspx") ;这一行转向新的页面了。所以提示窗口没弹出。
    先把这一行注释掉,然后再试一下。
      

  10.   

    To:hchxxzx(NET?摸到一点门槛) 
    那该怎样在提交之前在客户端进行判断呢?
      

  11.   

    比如一个按钮,你可在后台page_load里面赋予它脚本
    if(!this.IsPostBack)
    {
    this.Button1.Attributes.Add("onclick","return(confirm('确认提交吗?'));");
    }
      

  12.   

    To:hchxxzx(NET?摸到一点门槛)
    那如果我没有按钮事件该怎么办呢,那是不是就没有什么办法达到这样的效果了?
      

  13.   

    因为我是绑定到了DataGrid控件中,在执行删除一行记录之前提示是否要删除的确认.那样该怎么做?
      

  14.   

    //绑定数据
    this.myGrid.DataSource = 获取到的数据集;
    this.myGrid.DataKeyField = "usr_id";
    this.myGrid.DataBind();//绑定之后马上循环,为删除按钮做删除事件(注意,我的删除按钮是在最后一列)
    //前提是你的删除按钮就是自动生成的"按钮列"才行,不能是模板列
    for(int i=0;i<this.myGrid.Items.Count;i++)
    {
    LinkButton linkdelete = (LinkButton)this.myGrid.Items[i].Cells[this.myGrid.Columns.Count-1].Controls[0];
    linkdelete.Attributes.Add("onclick","return(confirm('确认删除吗?'));");
    }