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

本文关键字:设置 实例 错误 对象引用 代码 部署 | 更新日期: 2023-09-27 17:57:35

我使用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();

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

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

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