我在.cs文件里有这样的一个方法:
namespace MarketCS.Products
{
    public class ProductFile
    {
        public int FileID;
        public int FileType; 
        public string FileName;
        public ProductFile()
        {
        }        public static ArrayList SearchProductFile(string SearchStr)
        {
            ArrayList FileList=new ArrayList();
            SqlDataReader result = MarketDB.Products.ProductFile.SearchProductFile(SearchStr);
            if (result!=null)
            {
                while(result.Read())
                {
                    ProductFile myFile=new ProductFile();
                    myFile.FileID=result.GetInt32(result.GetOrdinal("FileID"));
                    myFile.FileType=result.GetInt32(result.GetOrdinal("FileType"));
                    myFile.FileName=result.GetString(result.GetOrdinal("FileName"));
                    FileList.Add(myFile);
                }
                result.Close();
            }
            return FileList;
        }
    }
}我在页面调用了这个方法之后,获得一个arraylist,我要如何才能取得一条记录里的某个字段,例如FileName所对应的值呢?

解决方案 »

  1.   

    转换一下就可以了:
    ProductFile pf = FileList[index] as ProductFile;
    if (pf!=null)
    {
        string fileName = pf.FileName;

      

  2.   

    你可以不用arraylist 作为返回值阿
    直接用datareader 作为返回值,就可以了阿
      

  3.   

    对arraylist进行遍历取值啊for i = 0 to arraylist.count-1 thenarraylist(i).item(FileName)  //这个就是要取得值.........
      

  4.   

    foreach(ProductFile  item in FileList)
    {
        string aa=item.FileName;
    }
      

  5.   

    同意 camelials  使用泛型集合 list,简单高效。
      

  6.   

    foreach(ProductFile  item in SearchProductFile(SearchStr))
    {
       FileID=item.FileID
       FileType = myFile.FileType;
       FileName = myFile.FileName;
    }
    如果要查询,建议返回hashtable
      

  7.   

    我试了1楼的方法,可以取到值了,不过我是调用.CS的方法,所以书写有点复杂ArrayList result = MarketCS.Products.ProductFile.SearchProductFile("And ProductID="+ProductID);
    MarketCS.Products.ProductFile pf = result[0] as MarketCS.Products.ProductFile;
    if (pf!=null)
    {
        string fileName = pf.FileName;
    }这样就获得了FileName的值了。。3楼的方法试了不行。