我在做一个简易的新闻发布系统。
每个新闻可能包含附件。
我在第一次上传带附件的新闻时候,点击上传按钮时,文件上传好之后,又跳转到上传按钮的事件,又被上传了一次。这样,等于按了2次上传按钮。
但是,奇怪的是第二次(第三次、第四次……)添加带附件新闻的时候,不会出现上述情况,都正常!我感觉很奇怪,请大侠帮忙啊!!我=你们回复~

解决方案 »

  1.   

    我是先添加新闻后添加附件,分两次进行的
    AddNew_Click(object sender, System.EventArgs e)
    {……
    //添加新闻
    ……
      switch(flag)
    {
    case "0":{ UpFile(newsid);break;}  ///上载文件
    case "1":{ UpFileUrl(newsid);break;}  ///上载地址
    }
    ……
    }void UpFile(int newsid)

          ……
           if(File.Exists(Server.MapPath(Request.ApplicationPath) + "\\UpLoads\\Files" + fileName) == false)
         {
                LocalFilePath.PostedFile.SaveAs(Server.MapPath(Request.ApplicationPath) + "\\UpLoads\\Files"+ fileName);//执行完这句就直接跳回到AddNew_Click函数从头开始执行           //更新数据库中的文件表
                 ……
           }
            ……

      

  2.   

    我晕死,我逐步调试,发现执行的语句是乱来的,根本没按我的想法执行,if语句块里面的内容还没执行完就跳到另外一个函数的if语句块里面去了。连这被跳转到的if判断都没执行……我设置了全局变量IsFileSaved(bool)来试图控制语句的执行,发现根本不行:
    在void UpFile(int newsid)里面已经把IsFileSaved设置为true,然后执行LocalFilePath.PostedFile.SaveAs,再然后又莫名其妙跳转至AddNew_Click(object sender, System.EventArgs e)中,此时在命令窗口里面检查IsFileSaved,发现又变成了false!!!真倒霉!另外一个疑问,我在SQL事件查探器里面清空跟踪窗口后,再中止VS.NET调试,为什么SQL事件查探器跟踪窗口中又会出现很多东西来,有些SQL语句是我自己的,应该不会被运行了的!y?
    why?
    为什么???
    谁来help me???