<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" CellPadding="4" AllowSorting="true" DataKeyNames="au_id" PageSize="20" AllowPaging="True" OnPageIndexChanging="GridView1_PageIndexChanging" OnRowDataBound="GridView1_RowDataBound">
Columns>
  asp:HyperLinkField HeaderText="報告編號" DataNavigateUrlFields="rp_bh" 
  DataNavigateUrlFormatString="Report/ENG-07-17S-007-1.zip" 
  DataTextField="rp_bh"/>
</Columns>
<FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
<PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
<HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
<AlternatingRowStyle BackColor="White" ForeColor="#284775" />
</asp:GridView> 
怎樣寫才能把ENG-07-17S-007-1寫成取sql中某字段
DataNavigateUrlFormatString="Report/ENG-07-17S-007-1.zip"

解决方案 »

  1.   

    DataNavigateUrlFormatString="Report/{怎樣取字段}.zip"
      

  2.   

    <asp:HyperLinkField DataNavigateUrlFields="rp_bh" DataTextField="xxxx" DataNavigateUrlFormatString="xxx/{0}.zip" />
      

  3.   

    这样写
    <asp:HyperLinkColumn Text="显示用户信息" Target="_blank" DataNavigateUrlField="userId" DataNavigateUrlFormatString="showUserMsg.aspx?id={0}"></asp:HyperLinkColumn>上面就是显示用户在showUserMsg.aspx页显示用户id为那个字段值的用户的信息的写法 移植可用
      

  4.   

    但是在網址上多出很多%號,,,找不到這個頁面
    您所要找的頁面可能已經被移除了,可能是它的名稱已經變更,或暫時無法使用。 
    http://172.16.1.1/ttt/Report/ENG-07-1H-217-1%20%20%20.zip
      

  5.   

    是不是我我sql字段裡有空格,,,
      

  6.   

    <asp:HyperLinkField DataNavigateUrlFields="rp_bh" DataTextField="xxxx" DataNavigateUrlFormatString="xxx/{0}.zip" />"xxx/{0}.zip"中的{0}会用 DataTextField取出来的值代替。http://172.16.1.1/ttt/Report/ENG-07-1H-217-1%20%20%20.zip
    ========>
    因为是空格。你可以试一下模板<asp:TemplateField>来代替<asp:HyperLinkField>
    具体:
    <asp:TemplateField>
       <itemTemplate>
          <a href='<%# string.Format("xxx/{0}.zip", Eval("XXX").ToString().Trim()) %>' ><%# Eval("XXX") %></a>
       </itemTemplate>
    </asp:TemplateField>