Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
asp.net中的对象引用错误_Asp.net - Fatal编程技术网

asp.net中的对象引用错误

asp.net中的对象引用错误,asp.net,Asp.net,我正在asp.net中的page_load事件上使用以下代码 protected void Page_Load(object sender, EventArgs e) { lblDate.Text = System.DateTime.Now.ToLongDateString(); if(!IsPostBack) { setImageUrl(); }

我正在asp.net中的page_load事件上使用以下代码

  protected void Page_Load(object sender, EventArgs e)
        {
          lblDate.Text = System.DateTime.Now.ToLongDateString();
          if(!IsPostBack)
            {
                setImageUrl();
            }             

        }

    protected void Timer1_Tick(object sender, EventArgs e)
    {
        setImageUrl();
    }

    private void setImageUrl()
    {
        Random rnd = new Random();
        int i = rnd.Next(1, 7);
        Image1.ImageUrl ="~/SlideImages/"+ i.ToString() + ".gif";


    }
代码在页面加载事件中运行良好,但当我单击任何其他菜单项时,它会显示以下错误消息

对象引用未设置为对象的实例

我95%确定我为null,因为当您调用字符串()和对象时,如果它为null,它将抛出一个致命的异常。我要做的是在抛出错误的行上设置一个断点,并在调试模式下运行该项目,然后查看返回的内容。如果为空,则存在您的问题。因此,您必须找出随机方法没有正确实例化的原因

还有一个建议是在这一行上使用String.Format

Image1.ImageUrl = String.Format("~/SlideImages/{0}.gif", i);

只要i有效且为字符串,这将为您提供相同的结果集。Format将null格式化为空字符串。因此,您将有一个优雅的失败,您的图像将不会显示,这意味着您知道您的问题。

Amy-错误消息应提供比您发布的更详细的信息,包括导致空引用异常的行号/代码行。你能在你的帖子中包括这个吗?Image1.ImageUrl=“~/slidemages/”+i.ToString()+“.gif”;这是显示错误的一行。这些“其他菜单项”是否部分页面加载?基本上,当您在页面之间导航时,听起来页面正在丢失对
Image1
的引用。Image1或其i为null,并且您正在调用null对象上的字符串