for( int i=3; i<=6;i++)
{
   if ( dr.GetValue(i) != null )
{
   Image(i-2).ImageUrl = "photo/" + dr.GetValue(i).ToString();
   Image(i-2).Visible = true;

}
  else
{
   Image(i-2).Visible = false;

}
}这里面image是 个image控件。我要如何将Image和(i-2)能连在一起并仍为一个控件,而后可以使用其属性呢。 

解决方案 »

  1.   

    呵呵,对啊,c#中数组元素的索引要用方括号,vb中才用()
      

  2.   

    Image[i-2]这不是一个数组呀。
    它是一个Image控件,页面上有Image1,Image2,Image3,Image4多个Image控件,我想通过检查其值是否为空来控制它是否显示。我想让Image[i-2]---为Image控件,要如何写。........Image[i-2]总是出现以下错误:.....................
    ........名称“Image”在类或命名空间“_5idz.empinfo”中不存在...................
      

  3.   

    你应该在定义image控件时应该这样定义:
    Image[] Image1;
    Image1[X]=new Image();
    X为定义的个数.
    然后再使用就可以了
      

  4.   

    总算明白你的意思了,你可以遍历Controls属性,来达到目的:foreach(Control control in Controls)
    {
        if( control is Image)
        {
            Image image=(Image)control;
            //这里做你要做的事情
        }
    }
      

  5.   

    不对,是我没说清楚:一个动态的产品页面,其上的多幅图片的链接从数据库动态调取,但也许另一产品没有图片或只有1个图片。我想通过一个循环判断其数据库中的多个图片链接字段是否为空(null)
    若为空,则使页面上的image控件的可视属性为假。这样就不会在页面上显出一个图片控件的图标。for( int i=3; i<=6;i++)
    {
       if ( dr.GetValue(i) != null )
    {
       Image(i-2).ImageUrl = "photo/" + dr.GetValue(i).ToString();
       Image(i-2).Visible = true;

    }
      else
    {
       Image(i-2).Visible = false;

    }
    }先从数据库中读取每个字段给SqlDataReader dr
    再从dr.GetValue(i)循环读取每一个值看其是否为空。Image[i-2]代表这某一Image控件(我想让i参于到图片名称中来)-----但一定不是我写的这样。如何才能实现我的目标呢。???