对象引用部署代码后未设置为实例错误

时间:2014-04-09 06:22:02

标签: c# asp.net gridview nullreferenceexception

我使用asp.net GridView显示数据,我有9列来自数据库,我必须隐藏最后两列和那些列的记录。我正在使用GridView RowDatabound事件来隐藏列和记录。 当我从VS运行我的应用程序时它工作正常,即使我在本地IIS上发布它,它工作正常,但是当我实时部署它时,它给出了以下异常:

对象引用未设置为实例

我对两个发布都使用相同的数据库 这是我的代码

        <asp:GridView ID="GridView1" runat="server" OnRowDataBound="GridView1_RowDataBound">
                                </asp:GridView>




        protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {

                GridView1.HeaderRow.Cells[7].Visible = false;
                GridView1.HeaderRow.Cells[8].Visible = false;
                e.Row.Cells[7].Visible = false;
                e.Row.Cells[8].Visible = false;               
            }
        }

使用DataTable完成数据绑定

     var data = MyClass.GetHistory();//it returns DataTable
     GridView1.DataSource = data;
     GridView1.DataBind();

1 个答案:

答案 0 :(得分:0)

如果我是正确的,你试图隐藏第7列和第8列,然后在绑定datasource后执行此操作,

GridView1.Columns[7].Visible = false;
GridView1.Columns[8].Visible = false;