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

向数据库提交两次的问题

前台用<IMG onclick="getIframeData()" height="18" src="images/fb.gif" width="42">这个代码调用javascript代码,
function getIframeData()
{        if(Form1.zhuti.value!="")
            { 
              
              var   str   =   document.EditBox.document.frames.editor.document.body.innerHTML; 
              document.Form1.test.value=str.replace(/(\<SCRIPT)(.*)(\SCRIPT>)/,   "")              
      document.getElementById("tijiao").click();//用这个调用后台代码
 
    }
     else
{
   window.alert("主题不能为空!");
}
}
后台代码:
private void tijiao_Click(object sender, System.EventArgs e)
{

if(Session["UserName"]!=null)
{

     try
{
string content=Request["zhuti"].ToString ();
        string name=Session["UserName"].ToString();
Threads .LoveDB Love_threads=new Threads .LoveDB ();
Threads.Regedit addSend=new LoveSky.Threads.Regedit ();
addSend.ClickSend (name);
i=Love_threads.AddLove ( name ,LB.SelectedValue ,content,test.Text.ToString(),0);

}
catch
{
                      
}
if(i>=0)
{
    Response.Write("<script>window.alert('发帖成功!')</script>")  ;
Server.Transfer("LoveContent.aspx?ID="+i.ToString());
}
else
{
                        Response.Write("<script>window.alert('发帖失败!')</script>")  ;
}


}
else
{
Response.Write("<script>window.alert('登录时间过期,请重新登录!')</script>")  ;
}




}
问题是:页面点击那个IMG图片提交的时候,有时候向数据库提交一次,有时候提交两次。不知道问题在哪里? --------------------编程问答-------------------- 调试看一下 --------------------编程问答-------------------- 你是否使用了多线程?可能与它有关 --------------------编程问答-------------------- 可以尝试在js中在提交一次后将提交功能禁用 --------------------编程问答-------------------- 我没有用多线程,问题奇怪就在于有时是提交一次,有时却两次,我自己调试都没有见问题。可是就是朋友在我的网站上发帖子的时候就出现有时两个帖子的问题。郁闷死了 --------------------编程问答--------------------
引用 3 楼 badtank 的回复:
可以尝试在js中在提交一次后将提交功能禁用


This could happen when user double click the button --------------------编程问答-------------------- 问题我自己找出来了
是  Server.Transfer("LoveContent.aspx?ID="+i.ToString()); 它的问题
如果你发完帖子刷新的话,就会在次向数据库些东西了
所以,要不用这个就可以了。
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,