because when the second button is clicked, Cart is not initialized
DataTable Cart;private void Button1_Click(object sender, System.EventArgs e)
{
Cart=new DataTable();
Cart.Columns.Add(new DataColumn("姓名",typeof(string)));
Cart.Columns.Add(new DataColumn("年龄",typeof(int)));
                            Session["MyCart"] = Cart;
                   }private void Button2_Click(object sender, System.EventArgs e)
{
         DataTable Cart = (DataTable)Session["MyCart"];
                           if (Cart != null)
                           {
DataRow dr=Cart.NewRow();///在此出现错误,错误显示如下
dr["姓名"]="jj";
dr["年龄"]=23;
Cart.Rows.Add(dr);
                           }

}

解决方案 »

  1.   

    sorry, 
    private void Button2_Click(object sender, System.EventArgs e)
    {
             Cart = (DataTable)Session["MyCart"];
                               if (Cart != null)
                               {
    DataRow dr=Cart.NewRow();///在此出现错误,错误显示如下
    dr["姓名"]="jj";
    dr["年龄"]=23;
    Cart.Rows.Add(dr);
                               }

    }
      

  2.   

    页面刷新不保存变量,尽管你在button1中给DataTable实例化了,但是页面刷新就没了,依旧是个未定义的对象,解决方法如 saucer(死鬼/MVP) 老大 ^o^
    这是asp.net的基本知识!
      

  3.   

    用static试验一下
    我昨天也遇到过几乎相同的问题,我用了static
      

  4.   

    就是页面刷新之后变量没保存了,用session或者viewState保存Cart了。
    static没试过,不知道行不行,你试一下就知道了。如果可以的话,顺便也指点一下^-^