repeater,Gridview控件数据删除后 重新绑定还是以前的数据  注:if(!Ispostback)已写

解决方案 »

  1.   

    代码如下: 
    if (!IsPostBack)
          {
           
                BindRep();
          }
     BindRep()
    {this.Repeater1.DataSource = mn.GetAllNclass().Tables[0].DefaultView;            this.Repeater1.DataBind();
    }
    Repeater1_ItemCommand{
    if (e.CommandName == "del")
            {
                int id = Convert.ToInt32(e.CommandArgument.ToString());
                mn.DelNclass(id);
                BindRep();
            }
    }
      

  2.   

    mn.GetAllNclass().Tables[0].DefaultView
    这个对象在构造函数中会读数据么?
      

  3.   

    public DataSet GetAllNclass() //查询所有新闻类别
        {
            DataSet ds = new DataSet();
            string Oledbstr = "select* from News_type";
            ds = AccessHelper.ExecuteDataSet(Connstr, Oledbstr, null);
            return ds;
        }
      

  4.   

    public NewsManage()
    {
    //
    //TODO: 在此处添加构造函数逻辑
    //
    }
      

  5.   

    重新刷新页面应该就可以显示正常结果,应该是
    if (!IsPostBack)
      {
        
      BindRep();
      }
     BindRep()
    {this.Repeater1.DataSource = mn.GetAllNclass().Tables[0].DefaultView; this.Repeater1.DataBind();
    }
    Repeater1_ItemCommand{
    if (e.CommandName == "del")
      {
      int id = Convert.ToInt32(e.CommandArgument.ToString());
      mn.DelNclass(id);
      BindRep();//此句话没有得到有效执行
      }
    }
    我给你一段我的代码
      

  6.   

    Access连接有没有关闭?如果没有关闭是取不到新的数据的.
      

  7.   

     MessageBox("确定删除么?", "/你页面的url");//放在删除操作里面
            
         public void MessageBox(string TxtMessage, string GetUrl)
            {
                string str;
                str = "<script type=\"text/javascript\">";
                str = string.Concat(str, "alert(\'", TxtMessage, "\');");
                if (GetUrl != "")
                {
                    str = string.Concat(str, "window.location=\'", GetUrl, "\';");
                }
                str = string.Concat(str, "</script>");
                base.ClientScript.RegisterStartupScript(GetType(), "Test", str);
            }
      

  8.   

    用的是在网上下的AccessHelper类
      

  9.   

    把BindRep();改成:Repeater1.DataBind();
      

  10.   

    允许删除后刷新么,允许的话,就重新加载页面,可以用我给你的方法先提示再删除,也可以Response.Redirect("你的页面"),当然如果有框架的话还要考虑显示的问题要设置目标target
      

  11.   

    为什么没有执行到 
    mn.DelNclass(id);
      BindRep();//此句话没有得到有效执行
      

  12.   

     mn.DelNclass(id); //在这儿段来了
      

  13.   

    mn.DelNclass(id); 这里断点进入看这个类里的这个方法是不是正确运行了。。
      

  14.   

    public partial class ****** : **** 
    {
        protected void Page_Load(object sender, EventArgs e)
        { if (!IsPostBack)
      {
        
      BindRep();
      }}private void BindRep()
    {
    this.Repeater1.DataSource = mn.GetAllNclass().Tables[0].DefaultView; this.Repeater1.DataBind()
    }
    private void  Repeater1_ItemCommand{
    if (e.CommandName == "del")
      {
      int id = Convert.ToInt32(e.CommandArgument.ToString());
      mn.DelNclass(id);
    MessageBox(”*****”,”url”)
      }
    }
    public void MessageBox(string TxtMessage, string GetUrl)
            {
                string str;
                str = "<script type=\"text/javascript\">";
                str = string.Concat(str, "alert(\'", TxtMessage, "\');");
                if (GetUrl != "")
                {
                    str = string.Concat(str, "window.location=\'", GetUrl, "\';");
                }
                str = string.Concat(str, "</script>");
                base.ClientScript.RegisterStartupScript(GetType(), "Test", str);
            }
    }
      

  15.   

    public partial class ****** : **** 
    {
        protected void Page_Load(object sender, EventArgs e)
        { if (!IsPostBack)
      {
        
      BindRep();
      }}private void BindRep()
    {
    this.Repeater1.DataSource = mn.GetAllNclass().Tables[0].DefaultView; this.Repeater1.DataBind()
    }
    private void  Repeater1_ItemCommand{
    if (e.CommandName == "del")
      {
      int id = Convert.ToInt32(e.CommandArgument.ToString());
      mn.DelNclass(id);
    MessageBox(”*****”,”url”)
      }
    }
    public void MessageBox(string TxtMessage, string GetUrl)
            {
                string str;
                str = "<script type=\"text/javascript\">";
                str = string.Concat(str, "alert(\'", TxtMessage, "\');");
                if (GetUrl != "")
                {
                    str = string.Concat(str, "window.location=\'", GetUrl, "\';");
                }
                str = string.Concat(str, "</script>");
                base.ClientScript.RegisterStartupScript(GetType(), "Test", str);
            }
    }
      

  16.   

    teresa_tanxiaoguang 调试通了 谢谢
      

  17.   

    是页面没有载入,一般页面你b/s写的页面没有在没有定时器或者js脚本的情况下不会产生刷新页面的操作,也许你的函数已经执行了,只是没有显示出来而已