VS2003
DataGrid绑定的数据源中 ,有ID(int),FileName(varchar),FileCont(image)三列,
要在DataGrid每行的后面,增加一个操作列,用来对FileCont进行打开和下载.操作传递
ID和FileName作为参数,打开和下载的函数在后台cs文件中已经写好,在前台这个地方该怎么写该操作列类似于
<asp:TemplateColumn HeaderText="操作">
    <HeaderStyle Wrap="False" HorizontalAlign="Center" Width="5%"></HeaderStyle>
    <ItemStyle HorizontalAlign="Center"></ItemStyle>
    <ItemTemplate>
    <div id="Div2" runat="server">
    <A href=# onclick = 'Open(<%# DataBinder.Eval(Container,"DataItem.ID") %>,<%#  DataBinder.Eval(Container,"DataItem.FileName") %>);'>
     <IMG height="16" src="../../../Common/Image/i_edit.gif" width="16" align="absMiddle"
     border="0"></A>|
   <A href=# onclick = 'download(<%# DataBinder.Eval(Container,"DataItem.ID") %>,<%# DataBinder.Eval(Container,"DataItem.FileName") %>);'>
    <IMG height="16" src="../../../Common/Image/i_edit.gif" width="16" align="absMiddle"
    border="0">
  </A>
  </div>
</ItemTemplate>
</asp:TemplateColumn>

解决方案 »

  1.   

    下载,听说,直接写绝对URL就可以了.至于打开,我就不知道了.
      

  2.   

    <a href='<%# Open(DataBinder.Eval(Container.DataItem,"ID"),DataBinder.Eval(Container.DataItem,"FileName")%>' target="_blank" >
    <%#DataBinder.Eval(Container.DataItem,"FileName")%>
    </a>
    Open就返回绝对URL。要不就重定向到另外一个页面,在它里面处理。
      

  3.   

    有别的办法吗
    比如是一个<a> 或者一个img
    然后一点 传递进去id和fileName,调用后台函数,来打开或者下载
      

  4.   

    <a href ='webform1.aspx?id=<%# Server.UrlEncode(DataBinder.Eval(Container,"DataItem.id").ToString())%>&fileName=<%# Server.UrlEncode(DataBinder.Eval(Container,"DataItem.fileName").ToString())%>' >
    跳转</a>
      

  5.   

    //****使用模版列
    //****在最后一的模版列中添加一个下载按钮
    //****后台代码在itemcommand事件写下载代码就可以了三
      

  6.   

    zhangxiaopin(zxp) 的方法确实可以实现
    如果用<a>标记 有没有办法呢
      

  7.   

    //*****如果用<a >你可以将这个文件转到另一下页面提供给用户下载!