2013-07-23 4 views
0

У меня есть сетка на моей веб-странице с одним из столбцов как «Номер ссылки». Номер ссылки представляет собой имя файла pdf на сервере. Возможно ли изменить этот столбец на столбец гиперссылки, чтобы при щелчке по ссылочному номеру в строке он открыл PDF? Например, они нажимают на ReferenceNumber 123456 и открывают файл pdf \ server \ folder \ 123456.pdf. СпасибоОткрыть 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> 

ответ

0

Вы должны изменить Reference Number поле в TemplateField вместо BoundField, это позволит поставить гиперссылку в этой области.

Читать Using TemplateFields in the GridView Control

Оттуда, я хотел бы предложить, используя HttpHandler для создания файла PDF и поток его пользователю. Это имеет два преимущества:

  1. Нет обратной передачи, поэтому пользователь не теряет места в экране сетки.
  2. Это позволяет пользователю легко просматривать и/или сохранять PDF отдельно от вашего приложения.
Смежные вопросы