各位,我现在在做的一个项目中,客户在更新数据时,要求先判断之前是否已经存在此条记录,如果存在,要有一个提示窗口,提示已存在此记录,是要更新,可是我用一下方法,一直没法实现点击确认后继续执行,不知道有没有人做过类似的功能,代码如下
        string jsscript = "<script>";
        jsscript += " if (confirm('此已经导入,是否覆盖?'))";
        jsscript += " { document.getElementById(\"hidiscon\").value = '1';  } ";
        jsscript += " else {  document.getElementById(\"hidiscon\").value = '0'; } ";
        jsscript += " if ( document.getElementById(\"hidiscon\").value == '1')";
        jsscript += " { document.getElementById(\"BtnSave\").click();  } ";
        jsscript += " else { document.getElementById(\"btnSearch\").click();  } ";
        jsscript += "</script>";
        Response.Write(jsscript);
希望各位帮帮忙!

解决方案 »

  1.   

    Button控件有一个OnClientClick客户端事件,
    OnClientClick='return DoSomeThing(<%# Eval("id")%>);'
    <script>
    function DoSomeThing(id)
    {
       var hasRecord=......//这里用Ajax方式去判断是否存在记录
        if(hasRecord)
        {
        if(confirm('此已经导入,是否覆盖?'))return true;
        else return false;
         }
       else return false;
    }
    //记得返回真或假,好让程序判断是否要继续执行button的click事件代码
      

  2.   


    谢谢你的回答,var hasRecord=......//这里用Ajax方式去判断是否存在记录
    这里能否说明怎么使用啊,没接触过
    我刚才试了另一种方法,用到Literal,把执行语句赋值给他,执行是没有问题了,可是会一直执行下去,我
    用 document.getElementById("Literal1").value = "";这句想把它的值清空,可是却没有效果,请问你知道要怎么在js代码里清空它的值吗
      

  3.   

    confirm 确认框的一个实际应用 
    http://blog.csdn.net/Sandy945/article/details/5715583confirm 确认框的一个实际应用(续) 
    http://blog.csdn.net/sandy945/article/details/5716632
      

  4.   

    对于Web控件(就是那种包含runat="server"的控件),我们JS获取对方的引用时,使用document.getElementById("<%= Literal1.ClientID %>")注意,这些JS必须放在页面上的<html>与</html>之间,不能放在外面