2014-01-09 3 views
0

Как с Связать с гиперссылкой в ​​GridView с помощью C#?Связывание гиперссылки в gridview с использованием C#

ASP.NET код:

<asp:GridView ID="GridView1" runat="server" onselectedindexchanged="GridView1_SelectedIndexChanged" AutoGenerateColumns="False" DataSourceID="SqlDataSource1"> 
    <Columns> 
     <asp:TemplateField HeaderText="Name"> 
      <ItemTemplate> 
       <asp:HyperLink id="HyperLink2" NavigateUrl="" Text="<%#Eval("pdfname") %>" runat="server"/> 
      </ItemTemplate> 
     </asp:TemplateField> 
    </Columns> 
</asp:GridView> 

ответ

2

Просто используйте Eval:

<asp:HyperLink id="HyperLink2" NavigateUrl='<%#Eval("YourUrl") %>' Text='<%#Eval("pdfname") %>' runat="server"/> 

В случае, если ваш Url находится в DataBound пункт собственности под названием "YourUrl"

Если вам нужно построить динамически вас можно использовать способ:

<asp:HyperLink id="HyperLink2" NavigateUrl='<%# CreatePageUrl(Container.DataItem)%>' Text='<%#Eval("pdfname") %>' runat="server"/> 

Определите метод CreatePageUrl в вашем коде.

+0

HyperLink2.NavigateUrl = Page.ResolveUrl ("Pdfhandler.ashx EmpID =?" + TextBox8.Text); Мне нужно передать этот URL. как мне написать код, стоящий за ним в C#? – user3168680

+0

вот так? " runat = "server" /> – realnero

+0

нет его не работает. ошибка "sever tag not well created" – user3168680

0

Использовать OnRowDataBound Событие сетки видят гиперссылку, а затем связывают URL-адрес, который вы хотите. Пример.

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) 
    { 
     if (e.Row.RowType == DataControlRowType.DataRow) 
     { 
      HyperLink hl= (HyperLink)e.Row.findControl("HyperLink2"); 
      hl.NavigateUrl = "Your Url"; 
     } 
    } 
+0

Я пробовал этот код, но сетка еще не отображается. – user3168680

+1

<жерех: GridView ID = Runat "GridView1" = "сервер" onrowdatabound = "GridView1_RowDataBound" AutoGenerateColumns = "False"> <жерех: TemplateField HeaderText = "Документы"> <жерех: HyperLink ID = Runat = "сервер" Target "HyperLink2" = "_blank" Visible = "False" Text = "Файл PDF"> user3168680

+0

Этот код C#: if (e.Row.RowType == DataControlRowType.DataRow) { HyperLink hl = (HyperLink) e.Row.FindControl («HyperLink2»); hl.NavigateUrl = Page.ResolveUrl ("Pdfhandler.ashx? Empid =" + TextBox8.Text); } – user3168680

Смежные вопросы