当前位置:编程学习 > C#/ASP.NET >>

这样的提交确定功能是否可以做到

处理流程是
 protected void Button1_Click(object sender, EventArgs e)
    {
       string name ="zhankk"
       //首先到到数据库查找我添加的数据的名称是否在数据库已经存在
        //如果存在就弹出一个对话框 ,“已经存在存在同名的数据,是否还需要添加??”
        // 如果点击是 ,那么就将数据插入到数据库中,如果点否,就不操作,
       这样是否有办法去实现 ,
谢谢 
    } --------------------编程问答-------------------- 你是添加什么啊,数据库?表?记录? --------------------编程问答-------------------- if()
{}
else
{} --------------------编程问答-------------------- LZ的描述已经很清楚了。实现这个似乎很简单的效果其实还要费点功夫。

建议使用Wizard控件。 --------------------编程问答--------------------

if (dr1.Read())
        {
           //数据库中已经存在存在同名的数据 
        }
        else
        {
            Page.RegisterStartupScript(" ", "<script>if (confirm('还没有,要添加吗?')){self.location.href='./Plan_Add.aspx';}</script>");
           
        }
--------------------编程问答-------------------- select count(*) as result  where 用户表 where username=@username
得到返回的值如果是0就插入新用户,如果为1则提示用户已经存在
if(result==0)
{
  //insert sql
}
else
{
  respone.write("user exists")
}
--------------------编程问答-------------------- 除了3楼,其它都胡诌!
其实象3楼说的那样,问题简直,但实现起来很点难.
象这样服务端运行起来,突然冒出运行客户端脚本,又要返回,这样的需求很难实现.

建议用弹层,实现而不是对话框. --------------------编程问答--------------------  定义查询字符串  string sql = "select Count(*) from [Table] where 字段名 = '"+txtbox.text.trim(0.tostring()+"'" ;
SqlCommend cn = new ...(sql) ;  //这点记不得了 等我想起来再给你写上
 
if( int.parse(cn.Excutesaler().tostring() )==0 )//返回查询数据 如果=0 注册成功 否则失败 因为数量大于0
{
   Response.Wrirte("<script language = "Javascript"> alter('注册成功!') ;</script>") ;
}
else
{
  Response.Wrirte("<script language = "Javascript"> alter('注册失败@有重名!!') ;</script>") ;
}
--------------------编程问答-------------------- LikeCode 
言之有理 ,我目前也是这么做的


其他的好像都把我当菜鸟弄啊:) 悲哀,回帖是好事情,先谢谢了,回答的没有建设意义的话,还不用不回,我看,我还是自己想办法解决了
--------------------编程问答-------------------- 在后台里面好像没有这样的操作。需要直接有返回值的。
建议用框架或者弹窗做。 --------------------编程问答-------------------- showModalDialog有返回值的,但这个不太好看,建议用层,外加一个宽高都是0的iframe,点是,就隐藏层,点否就执行下iframe里的src,再隐藏层,应该可行。 --------------------编程问答--------------------   protected void Button1_Click(object sender, EventArgs e)
    {
       
        
        int count = IsHaveExsitsRecord();
        if (count != 0) //存在相同数据
        {
              //是否是在这里调用弹出的层呢,在div中有按钮yes ,or no 按钮
                    
       
            //那么我怎么在点击是以后,继续执行后面的插入操作呢
            insertData();//这样写对吗
        }
        

    } --------------------编程问答-------------------- 问题我有的不明白,我要弹出层出来,势必要在这个方法里面执行一段js script,但是发现,在服务器button是先提交服务器,在执行js吧,所以造成不关你点是,还是否,对执行下面的语句都市没有效果的
protected   void   Button1_Click(object   sender,   EventArgs   e) 
        { 
              
                
                int   count   =   IsHaveExsitsRecord(); 
                if   (count   !=   0)   //存在相同数据 
                { 
                            //是否是在这里调用弹出的层呢,在div中有按钮yes   ,or   no   按钮 
                                        
              
                        //那么我怎么在点击是以后,继续执行后面的插入操作呢 
                        insertData();//这样写对吗 
                } 
                

        } --------------------编程问答-------------------- xmlhttp异步提交了,只有这样才能执行服务端代码。 --------------------编程问答-------------------- 如果你要保存页面状态的话,只能才用 xmlhttp异步提交.

如果不需要保存页面状态的话,如下:

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!string.IsNullOrEmpty(Request["Add"]) && Request["Add"]=="true")
            this.Response.Write("<script>alert('Add')</script>");
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        string str=this.TextBox1.Text;
        //是否为空 or null
        if (string.IsNullOrEmpty(str))
        {
            
        }
        else
        {
            //当前页为 Default.aspx
            this.Response.Write("<script>if (confirm('已存在是否继续添加?')){window.location.href='Default.aspx?Add=true';} </script>");                       
            
        }        
    }

--------------------编程问答-------------------- 把 this.Response.Write("<script>alert('Add')</script>");
换成你要做的操作就可以了
--------------------编程问答-------------------- 我觉得得用ajax --------------------编程问答-------------------- 实现这样的问题 确实有点难
以前我们也遇到这样的问题 后来采用ajax实现了
但是 这样要调用两次方法 而且方法提示要在方法体外 也就是 在脚本调用的时候看它的返回值 再进行二次调用
并且这样的 处理有个缺点 就是如果是多业务逻辑的话 那么要确保前边的业务逻辑不能重复执行 --------------------编程问答-------------------- 不懂 --------------------编程问答-------------------- LZ 问题解决了? --------------------编程问答-------------------- 问题没有解决
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,