前台代码:
 <asp:GridView ID="grvIndexImage" runat="server" AutoGenerateColumns="False"  
                  Width="100%" onrowcommand="grvIndexImage_RowCommand" 
                  onrowdatabound="grvIndexImage_RowDataBound">
              <columns>
               <asp:TemplateField HeaderText="图片上传">
                <itemtemplate>
                <asp:FileUpload ID="FileUpload1" runat="server" />
                </itemtemplate>
              </asp:TemplateField>
             <asp:TemplateField HeaderText="图片链接">
                <itemtemplate>
                 <asp:TextBox ID="txtImagelink" runat="server"  Text='<%# DataBinder.Eva(Container.DataItem, "imagelink") %>'  MaxLength="500"></asp:TextBox>
                </itemtemplate>
              </asp:TemplateField>
  </columns>
 </asp:GridView>
请教:如何将数据库中的图片路径绑定到FileUpload1控件中,是文本框可以直接绑定,是FileUpload1控件如何显示呢?

解决方案 »

  1.   

    给他赋值 ?他的filename属性是只读的
      

  2.   

    模拟键盘输入来达到 给 File控件赋值
    1.<input name="myfile" type="file" />   
    2.  
    3.<script language="JavaScript">   
    4.window.attachEvent("onload", setfile);    
    5.var WshShell=new ActiveXObject("WScript.Shell");    
    6.function setfile(){    
    7.  for(i=0;i&lt;4;i++) {    
    8.    setTimeout('document.all.file['+i+'].focus();   
    9.    WshShell.sendKeys('+i+');',i*20);    
    10.  }    
    11.}   
    12.</script>  
    这段代码是通过WScript.Shell控件来实现模拟键盘输入的效果: 
        WshShell.sendKeys('+i+'); 
    在模拟键盘输入之前,先把光标定位在要操作控件上: 
        document.all.file['+i+'].focus(); 
    在给下一控件赋值之前,先停一段时间:
        setTimeout('document.all.file['+i+'].focus();    WshShell.sendKeys('+i+');',i*20); 
    这样做的目的是因为focus操作花费的时间比较长,而sendKeys操作又很快,如果不加上延时,sendKeys操作一般都在focus之前就执行完了,导致输入框接收不到输入值。
      

  3.   

    客户端的路径为什么从数据库中取出来?如果客户端没有这个文件,就算把路径显示在FileUpload1里又有什么用?
      

  4.   

    你不想从新选择图片啊,那好弄啊,你弄个隐藏域,来放你的图片路径,你的图片上传你给弄个假的,弄成文本的不就OK了吗?更何况你的这些代码如果是在Ajax控件里实现的,可能会出问题
      

  5.   


    又不想重新选择那就不要用那个控件呗,用TextBox显示和修改不行吗?用个控件又不选
      

  6.   


    我有点儿混乱,难道客户端重新选择了路径,就直接把客户路径直接存到数据库里吗?不会吧
        数据库存贮图片通常有两种方式,一种是存图片文件流(也就是直接把图片存在库里),另一种是保存图片的服务器路径(多半是虚拟路径)。
        这两种途径都和客户端没什么关系了,如果想做更新可以把图片上本身就记录了图片的路径,不需要再用其他控件。
        可以在更新的页面中直接放一个FileUpload控件,更新是判断FileUpload是否为空,空就跳过上传图片的过程,否则就上传然后修改图片路径。这样每次更新库是读图片的路径就可以了