具体介绍:通过读一个目录,找出.css文件,把这些文件绑定到dropdownlist(已实现),需要把文件名赋给datatextfiled,而把处理过的文件名能过方法replaceCssName()转换成友好的中文赋给datatextvalue,以下是代码,结果是没有东西显示在DROPDOWNLIST里,请大家高抬贵手,这个问题弄了三天了 private void getCssPath()
{
string CssPath = HttpContext.Current.Server.MapPath("/website/"+Session["username"].ToString()+"/script/");
DataTable dt=new DataTable();
DataColumn dc1=new DataColumn("filename",Type.GetType("System.String"));
DataColumn dc2=new DataColumn("filevalue",Type.GetType("System.String"));
dt.Columns.Add(dc1);
dt.Columns.Add(dc2); System.Collections.ArrayList CSSAL = new System.Collections.ArrayList(); DirectoryInfo dir = new DirectoryInfo(CssPath);
FileInfo[] fileInfo = dir.GetFiles("*.css");
foreach( FileInfo f in fileInfo)
{

DataRow dr=dt.NewRow();
dr["filename"]=f.Name;
dr["filevalue"]=replaceCssName(f.Name); } DropDownList1.DataSource = dt;
DropDownList1.DataTextField="filename";
DropDownList1.DataValueField="filevalue";
DropDownList1.DataBind();
}

解决方案 »

  1.   

    foreach( FileInfo f in fileInfo)
    {

    DataRow dr=dt.NewRow();
    dr["filename"]=f.Name;
    dr["filevalue"]=replaceCssName(f.Name);
                                                  dt.Rows.Add(dr);
    }
      

  2.   

    楼上说得对,加上dt.Rows.Add(dr);
      

  3.   

    晚了晚了, 让楼上的楼上的人说了。楼主怎么能创建了数据行但不把这行加给Table呢? 不加的话Table就一直是空的, 当然没有显示在DROPDOWNLIST中。
      

  4.   

    why do you need to add to a datatable???? add to the dropdownlist directly
                               DirectoryInfo dir = new DirectoryInfo(CssPath);
    FileInfo[] fileInfo = dir.GetFiles("*.css");
    foreach( FileInfo f in fileInfo)
    {
    DropDownList1.Items.Add(new ListItem(f.Name,replaceCssName(f.Name)));
    }
      

  5.   

    晕,循环最后没add到DataTable...
      

  6.   

    foreach( FileInfo f in fileInfo)
    {

    DataRow dr=dt.NewRow();
    dr["filename"]=f.Name;
    dr["filevalue"]=replaceCssName(f.Name);
                      dt.Rows.Add(dr);                   
    }
      

  7.   

    foreach( FileInfo f in fileInfo)
    {

    DataRow dr=dt.NewRow();
    dr["filename"]=f.Name;
    dr["filevalue"]=replaceCssName(f.Name);
                                                  dt.Rows.Add(dr);///差这句 }