一个DEMO前台:
<asp:DataList ID="imageList" runat="server" RepeatColumns="3" Width="200px">
   <ItemTemplate>
      <asp:Image ImageUrl='<%# Eval("Name","~/UpLoad/{0}") %>' ID="image1" runat="server" />
   </ItemTemplate>
</asp:DataList>
<br />
<asp:FileUpload ID="Fupload" runat="server" />
<asp:Button ID="btnAdd" Text="upload" runat="server" OnClick="btnAdd_Click" />
后台:protected void Page_PreRender()
    {
        string upFolder = Server.MapPath("~/UpLoad/");
        DirectoryInfo dir = new DirectoryInfo(upFolder);
        this.imageList.DataSource = dir.GetFiles();
        this.imageList.DataBind();
    }
问题是前台的绑定字段的来源有点迷糊:   <%# Eval("Name","~/UpLoad/{0}") %>  这的Name字段是哪来的?后台根本没有给呀?  还是说每个控件默认有这个绑定字段?

解决方案 »

  1.   

    - -  打错题了   不是fileupload的问题   应该是数据控件绑定来源的问题,   但不能改了   等待答案。
      

  2.   

    name 字段名 或者是 别名 。
      

  3.   


    不是啊    后台绑定的代码我已经帖出来了   不存在叫name的字段名和别名啊
      

  4.   

    这个Name确实来的很奇怪~~~~~~~不如测试下dir.getFiles()这个是什么东西。用个gridview先自动绑定下试试?
      

  5.   


    关键是这玩意无法自动绑定啊   getFiles()   //反回当前目录的文件列表(MSDN)
     反回的字段咋成name了,太奇怪了,运行过,可以正常的跑所以代码不存在错误
      

  6.   

    汗~~~~可以正常的跑的哦~~~~
    那去查查文档,看下getFiles()函数的具体情况?
      

  7.   

    DirectoryInfo imagesfile = new DirectoryInfo(Server.MapPath("./images"));
    DataList1.DataSource = imagesfile.GetFiles("*.jpg");
    DataList1.DataBind();获取文件夹下图片
    Name为文件名称
      

  8.   


    感谢这个回答。 大概明白你的意思。 
      可是还有很多逻辑不通啊:
    1:
    ////////////////////////////////
    DirectoryInfo.GetFiles 方法 ()
    返回当前目录的文件列表。 命名空间:System.IO
    返回值
    FileInfo 类型数组。
    FileInfo 类
    提供创建、复制、删除、移动和打开文件的实例方法,并且帮助创建 FileStream 对象。无法继承此类。 命名空间:System.IO
    (此为MSDN内容)
    ////////////////////////////////
     - -! 我更模糊了。。
    directorinfo返回的是fileinfo类的数组。  然而fileinfo里面的确有Name这个属性, 照这意思 凡是这种类型的玩意全部都可以邦定属性?就连书上也很少提到绑定类的属性.. ps:还是我的知识面很小?
    求大家帮我解惑, 要分的直说
      

  9.   

    哎。   算了,把这帖结了    实验了几个小时,终于得出结论了:

    可以绑定任何类的属性(当然这个属性要有get块,费话),前台绑定的时候只用输入属性就OK,


    留下此帖 做为CSDN漠视难民的证据。