DataTable.Merge抛出错误:未将对象引用设置为实例

时间:2011-08-20 07:24:26

标签: c# asp.net merge datatable

我想在DropDownList selectedindex更改事件中合并数据表。所以我在DropDownList_SelectedIndexChanged事件中编写了以下代码。

    DataTable dt = (DataTable)POBLL.GetPOAdhocDetail();
    DataView dv = new DataView(dt);
    dv.RowFilter = "IndentTypeID = " + ddlIndentType.SelectedValue + "AND IndentID = " + ddlIndentNumber.SelectedValue;
    DataTable dtView = dv.ToTable();        
    gvPODetails.DataSource = dtView;
    gvPODetails.DataBind();
    DTMerge.Merge(dtView);

其中DTMerge是DataTable,我在下面声明:

   public DataTable DTMerge
   {
      get
      {
        if (ViewState["Merge"] != null)
        {
            return (DataTable)ViewState["Merge"];
        }
        else
            return null;
      }
      set
      {
         ViewState["Merge"] = value;
      }
  }

但它会抛出错误“对象引用未设置为实例”。怎么解决这个问题?

1 个答案:

答案 0 :(得分:2)

您请求了DTMerge属性,该属性有效需要存在相应的ViewState。在您访问DTMerge属性时,您还没有ViewState。

这很可能就是问题所在。