首页 > 解决方案 > 公共静态对象引用未设置错误

问题描述

问题:我有一个gridview我可以参考。但是,当我尝试引用它时,我得到一个错误。

错误:

System.NullReferenceException:“对象引用未设置为对象的实例。”

网格名称为空。

主.aspx.cs

namespace WebApplication1
{
    public partial class About : Page
    {


    protected void Page_Load(object sender, EventArgs e)
    {
        DataTable dt = datagridpopulate.Main("supplier", 0, null);
        GridView1.DataSource = dt;
        GridView1.DataBind();
    }

奇怪的一点:这是昨天工作的,我做了一些改变来清理我的代码,现在我不知道我改变了什么,这使它停止工作

附加说明:我试图将控件作为字符串打印到我拥有的弹出窗口函数中。( pop_up.main(GridView1.ToString());) 但它仍然声明其为空。

我非常感谢您的帮助:)

---- 错误缩小为:好的,这导致了错误: public static global::System.Web.UI.WebControls.GridView GridView1; 它在以下情况下起作用: protected global::System.Web.UI.WebControls.GridView GridView1;

问题是我需要从其他类文件访问控件。所以它需要是公共静态的。如何让它保持公共静态并在没有错误的情况下使用对象引用?

标签: c#asp.netcontrols

解决方案


尝试删除关于。

Create_P_O_functions.populatedatagrid(About.GridView1, "supplier", 0, null);

Create_P_O_functions.populatedatagrid(GridView1, "supplier", 0, null);

您的 GridView 在上面创建两个链接。我想和你一样,GridView 还没有出现在关于页面上。


推荐阅读