我在repeater里面放了一个表 表里面有2个Label和一个TextBox  两个Button 这些不是重点 
    protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e)
    {
        /*DataRowView dv = (DataRowView)e.Item.DataItem; -----这里我注释掉了,本来我向这里连接,下面的操作都可以用着command  但是 update操作可以  但是  只要delete 操作全都是asp.net未将对象引用设置到对象的实例错误        string floor = dv["floor"].ToString();
            
        OleDbCommand cmd = new OleDbCommand();   
   
        cmd.Connection = con;    
                       
        cmd.CommandType = CommandType.Text; */
        
        if (e.CommandName == "edit")
        {
            TextBox bb = (TextBox)e.Item.FindControl("TextBox1");
            Button tt = (Button)e.Item.FindControl("Button1");            if (!bb.Enabled)
            {
                bb.Enabled = true;                                tt.Text = "发布";
            }
            else
            {
                DataRowView dv = (DataRowView)e.Item.DataItem;                string floor = dv["floor"].ToString();                OleDbCommand cmd = new OleDbCommand();                cmd.Connection = con;                 cmd.CommandText = "update tabl1 set [text] ='" + bb.Text + "' where t_id='" + Session["t_id"].ToString() + "'&&floor=" + floor;                cmd.ExecuteNonQuery();                bb.Enabled = false;            //    tt.Text = "编辑";              //  con.Close();            }
        }        if(e.CommandName == "dele")
         {            DataRowView dvv = (DataRowView)e.Item.DataItem;            string floorr = dvv["floor"].ToString();  //asp.net未将对象引用设置到对象的实例错误在这里发生            OleDbCommand cmd = new OleDbCommand();            cmd.Connection = con;            cmd.CommandType = CommandType.Text;            con.Open();            cmd.CommandText = "delete from tabl1  where t_id='" + Session["t_id"].ToString() + "' &&floor=" + floorr;            cmd.CommandType = CommandType.Text;            cmd.ExecuteNonQuery();            
        
        
        }
    }
执行delete操作就asp.net未将对象引用设置到对象的实例错误   而update操作就可以
我甚至改了commandText 内容外 其他内容都一样也不行   求教

解决方案 »

  1.   

    麻烦了  一样的例子 为什么delete不可以 而update就不可以  谢谢  求教
      

  2.   

    突然发现 delete 操作都执行不了  只不过update 没发生错误而已
    当repeater控件的EnableViewState为true时  Repeater1_ItemCommand处理函数的函数无法执行但是EnableViewState为false时 可以操作repeater控件里的控件状态 redirect这样的操作都可以执行 但是像上面的代码就执行不了  太奇怪了
    召唤大能  教教无知的我吧 这把我弄烦死了 这是连续得 第三个回复了 希望大能救我 这个发完了 我就回复不了了求教大能
      

  3.   

    .....来个大能吧  怎么在repeter控件里操作数据库
      

  4.   

    还是按照比较正规的方式设计asp.net2.0的程序吧。http://www.cnblogs.com/lovecherry/archive/2006/07/02/440840.aspx把所有的代码都运行一遍。
      

  5.   

    系统会给每一种命令按钮列都制定了默认的CommandName属性值,“删除”命令按钮列的CommandName属性值为Delete。你的这种在Repeater前台通过模板列放置一个LinkButton,绑定其CommandArgument属性,然后在LinkButton的OnCommand事件中通过e.CommandArgument获取该条记录的主键后,然后进行相关的更新和删除操作就方便多了。