请各位高手帮帮忙啊,我想用一个File控件上传多个文件,在多个文件上传到服务器端之前,先把他们的一个一个的保存到DataTable中,一个文件一列,并把DataTable绑定到一个CheckListBox上让它显示出所有的文件来,代码如下:
这人代码是只能在CheckListBox中显示当前上传的一个文件信息,而不能列出多个,请帮忙看看!
string fileName="",fileType,filePath;
fileName=this.File1.PostedFile.FileName;
filePath=Server.MapPath("upfiles");

fileName=fileName.Substring(fileName.LastIndexOf("\\")+1);
fileType=fileName.Substring(fileName.LastIndexOf(".")+1);DataTable dt_accessory=new DataTable("Accessory");
DataColumn accessoryID=new DataColumn("AccessoryID",typeof(int));
accessoryID.AutoIncrement=true;
accessoryID.AutoIncrementSeed=1;
accessoryID.AutoIncrementStep=1;
accessoryID.ReadOnly=true;DataColumn accessoryName=new DataColumn("AccessoryName",typeof(string));
DataColumn accessoryType=new DataColumn("AccessoryType",typeof(string));
DataColumn accessorPath=new DataColumn("AccessorPath",typeof(string)); dt_accessory.Columns.Add(accessoryID);
dt_accessory.Columns.Add(accessoryName);
dt_accessory.Columns.Add(accessoryType);
dt_accessory.Columns.Add(accessorPath);

System.Data.DataRow dr=dt_accessory.NewRow();
dr["accessoryName"]=fileName;
dr["accessoryType"]=fileType;
dr["accessorPath"]=filePath+"\\"+fileName;
dt_accessory.Rows.Add(dr);

this.CBLAccessory.DataSource=dt_accessory.DefaultView;
this.CBLAccessory.DataTextField="AccessoryName";
this.CBLAccessory.DataValueField="AccessoryID";
this.CBLAccessory.DataBind();

解决方案 »

  1.   

    代码中只添加了一个DataRow
      

  2.   

    你是每上传一个文件,就调用一次以上全部代码添加一个DataRow吗,这样就每次都
    DataTable dt_accessory=new DataTable("Accessory");
    当然只有一条记录了
    先new一个DataTable,比如dt_accessory,以后新增数据的时候,只调用System.Data.DataRow dr=dt_accessory.NewRow();以下代码,添加DataRow就行了