private void Page_Load(object sender, System.EventArgs e)
        {
            // 在此处放置用户代码以初始化页面
            if(!Page.IsPostBack)
            {
                FillData(0);
                
            }
            if(Request.QueryString["action"]=="drop")
            {
                string id = Request.QueryString["id"];
                string file = Server.MapPath("upload/"+Request.QueryString["file"]);
                fso.DropFile(file,Convert.ToInt16(id));
                Response.Redirect("main.aspx");
                //FillData(0);
            }
            
        }
当action==drop时,语句执行了,但是Redirect到main.aspx时,页面并没有刷新,还是显示原来的数据,当再删除一个记录时,才刷新,这是怎么回事?是Page.IsPostBack引起的?

解决方案 »

  1.   

    是Response.Redirect("main.aspx");没有生效吗?不会吧?你确定?
    如果转到其他页面行吗?
    另外由于你的数据邦定只在第一访问页面时才触发,所以你删除信息后,数据没有更新到你的页面。不过你已经重定向页面了,应该是对的。
      

  2.   

    to:greenery
    删除后是转向到main.aspx文件,但删除后的信息还在。只有再删除时,第一次被删除的文件就没有了。。
      

  3.   

    你的main是否就是你这个文件呢?如果是,可否改为先判断action,删除文件后,再邦定页面数据。这样可以减少页面的转向操作,又可以确保邦定的数据是新的。private void Page_Load(object sender, System.EventArgs e)
            {
                if(Request.QueryString["action"]=="drop")
                {
                    string id = Request.QueryString["id"];
                    string file = Server.MapPath("upload/"+Request.QueryString["file"]);
                    fso.DropFile(file,Convert.ToInt16(id));                // Response.Redirect("main.aspx");
                    //FillData(0);
                }
    // 无论如何,都邦定一次数据
                    FillData(0);
            }
    PS:还有可能是你FillData有问题。