2011-08-23 70 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")) %>' ...>