2011-08-23 64 views
1

我有一個GridView,它有一個具有超鏈接控件的列以及一個LinkBut​​ton控件。因此:C# - 在GridView的TemplateField列中設置超鏈接控件的url

<asp:TemplateField HeaderText="Actions"> 
    <ItemTemplate> 
     <asp:HyperLink ID="linkEdit" runat="server" NavigateUrl="~/shipment.aspx">Edit</asp:HyperLink> | 
     <asp:LinkButton ID="linkSend" runat="server">Send</asp:LinkButton> 
    </ItemTemplate> 
    <ItemStyle Width="76" HorizontalAlign="Center" /> 
</asp:TemplateField> 

每行將有一個「操作」列,如下所示:編輯|發送

如何在每行中設置超鏈接的NavigateUrl屬性以包含行的第一列的值?

例如:NavigateUrl = 「〜/ shipment.aspx編輯= VALUE_FROM_COLUMN_0_OF CURRENT_ROW?」

回答

1

嘗試

<asp:HyperLink ID="linkEdit" runat="server" 
    NavigateUrl='<%# "~/shipment.aspx?edit=" + Eval("IdField")" %>' >Edit</asp:HyperLink> 
+0

我試過了所有已我得到的是錯誤:編譯器錯誤消息:CS1010:換行符 – PercivalMcGullicuddy

+0

換行符: NavigateUrl ='<%#DataBinder.Eval(Container.DataItem,「shipment_id」,「〜/ shipment.aspx?edit = {0}」)%>' – PercivalMcGullicuddy

1

給這一個鏡頭:

asp:HyperLink ID="lnkEdit" runat="server" NavigateUrl='<%# String.Format("~/shipment.aspx?edit={0}", Eval("SomeID")) %>' ...>