为什么页面重新加载后,dataset或datatable会为空?
像这样定义datatable,然后,在按钮的点击事件bFindSave_Click中,datatable内容却为空了,这是怎么回事?
  public partial class AuthorizePurchaseOrder : Page
     {
         private readonly DatabaseHelper db = new DatabaseHelper();
         private DataTable dt = new DataTable();
protected void FindPurchase(string Condition)
         {
             var sb = new StringBuilder();
             sb.Append("select code,b.realname Petitioner,c.realname,applydate,recorddate");
             sb.Append(
                 ",(case state when 0 then '未提交' when 1 then '已提交' when 2 then '已审核' when 3 then '已完成' when 10 then '已作废' end ) state");
             sb.Append(",state stateid");
             sb.Append(" from tb_Purchase a,tb_user b,tb_user c");
             sb.Append(" where a.petitioner=b.userid and a.userid=c.userid");
             sb.Append(Condition);
             dt1 = db.ExecuteDataSet(sb.ToString()).Tables[0];
             uwgPurchase.DataKeyField = "code";
             dt1.PrimaryKey = new[] {dt1.Columns["code"]};
             uwgPurchase.DataBind();
             ViewState["dt1"] = dt1;
         }
         protected void Page_Load(object sender, EventArgs e)
         {
             if (!IsPostBack)
             {
             FindPurchase("");    
             }
         }
  protected void bFindSave_Click(object sender, EventArgs e)
         {
             var sb = new StringBuilder();
             foreach (DataRow c in dt1.Rows) //此时,dt1为空了。
             {
                 switch (c.RowState)
                 {
                     case (DataRowState.Added):
                         break;
                     case (DataRowState.Modified):
                         //     sb.Append(" update tb_Purchase set state=1 where code='"+c.Cells.FromKey("code")+"' and state=0");
                         break;
                     case (DataRowState.Deleted):
                         sb.Append(" delete from tb_Purchase where code='" + c["code",DataRowVersion.Original] + "' and state=0");
                         sb.Append(" delete from tb_PurchaseList where code='" + c["code", DataRowVersion.Original] + "'");
                         break;
                 }
             }
             var id = Convert.ToInt32(hfID.Value);
             foreach (DataRow c in dt.Rows)
             {
                 switch (c.RowState)
                 {
                     case (DataRowState.Added):
                         id++;
                         sb.Append(" insert into tb_PurchaseList(code,id,commoditycode,quantity,comment)");
                         sb.Append(" values('" + hfCode.Value + "'," + id + ",'" + c["code"] + "'," +
                                   c["quantity"]);
                         sb.Append(",'" + c["comment"] + "')");
                         break;
                        case (DataRowState.Modified):
                         sb.Append(" update tb_PurchaseList");
                         sb.Append(" set CommodityCode='" + c["code"] + "'");
                         sb.Append(&q