从gridview链接打开PDF?

时间:2013-07-23 17:02:28

标签: asp.net vb.net gridview

我的网页上有一个gridview,其中一列是“参考编号”。参考号表示服务器上的pdf文件的名称。是否可以将此列更改为超链接列,以便在单击行上的引用号时打开pdf?例如,他们点击ReferenceNumber 123456并打开pdf \ server \ folder \ 123456.pdf。谢谢

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
    CellPadding="4" DataSourceID="SqlDataSource1" 
    ForeColor="#333333" GridLines="None">
    <AlternatingRowStyle BackColor="White" ForeColor="#284775" />
    <Columns>
        <asp:CommandField ShowSelectButton="True" />
        <asp:BoundField DataField="ReferenceNumber" HeaderText="Reference #" 
            SortExpression="ReferenceNumber" />
        <asp:BoundField DataField="Teaching_Hospital_Name" HeaderText="Teaching Hospital Name" 
            SortExpression="Teaching_Hospital_Name" />
        <asp:BoundField DataField="Date_of_Payment" 
            HeaderText="Date" SortExpression="Date_of_Payment" />
        <asp:BoundField DataField="Physician_First_Name" 
            HeaderText="First Name" SortExpression="Physician_First_Name" />
        <asp:BoundField DataField="Physician_Last_Name" 
            HeaderText="Last Name" SortExpression="Physician_Last_Name" />
        <asp:BoundField DataField="Recipient_Primary_Business_Street_Address_Line_1" 
            HeaderText="Address 1" 
            SortExpression="Recipient_Primary_Business_Street_Address_Line_1" />
        <asp:BoundField DataField="Recipient_City" HeaderText="City" 
            SortExpression="Recipient_City" />
        <asp:BoundField DataField="Recipient_State" HeaderText="State" 
            SortExpression="Recipient_State" />
        <asp:BoundField DataField="Recipient_Zip_Code" HeaderText="Zip" 
            SortExpression="Recipient_Zip_Code" />
        <asp:BoundField DataField="Total_Amount_of_Payment" HeaderText="Total_Amount" 
            SortExpression="Total_Amount_of_Payment" />
    </Columns>
    <EditRowStyle BackColor="#999999" />
    <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
    <HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
    <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
    <RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
    <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
    <SortedAscendingCellStyle BackColor="#E9E7E2" />
    <SortedAscendingHeaderStyle BackColor="#506C8C" />
    <SortedDescendingCellStyle BackColor="#FFFDF8" />
    <SortedDescendingHeaderStyle BackColor="#6F8DAE" />
</asp:GridView>

1 个答案:

答案 0 :(得分:0)

您需要将Reference Number字段更改为TemplateField而不是BoundField,这样您就可以在该字段中添加超链接。

阅读Using TemplateFields in the GridView Control

从那里,我建议使用HttpHandler来构建PDF文件并将其传输给用户。这有两个好处:

  1. 没有回发,因此用户不会在网格显示中丢失位置。
  2. 它允许用户轻松查看和/或保存与您的应用程序不同的PDF。