使用Repeater控件构建动态链接

时间:2009-02-10 17:36:03

标签: asp.net .net-2.0 repeater

我使用Repeater控件渲染数据。 假设数据源中有2个字段:productName和ProductID

在以下代码中:

<asp:Repeater ID="Repeater1" runat="server" DataSourceID="SqlDataSource1">
<HeaderTemplate>
<ul>
</HeaderTemplate>
<ItemTemplate>
<li>
<%#Eval("productName")%> <br/>
<asp:HyperLink ID="lnkDetails" runat="server" NavigateUrl="~/Details.aspx?ID=">See Details</asp:HyperLink>
</li>
</ItemTemplate>
<FooterTemplate>
</ul>
</FooterTemplate>

我需要在

中修改什么
<asp:HyperLink ID="lnkDetails" runat="server" NavigateUrl="~/Details.aspx?ID=">See Details</asp:HyperLink>

包含从链接 NavigateUrl =“〜/ Details.aspx?ID =”

中的ProductID重新获取的值

1 个答案:

答案 0 :(得分:16)

NavigateUrl="~/Details.aspx?ID=<%# Eval("productID") %>"应该有用......

......但事实并非如此!

最优雅的方式应该是:

<asp:HyperLink ID="lnkDetails" runat="server" NavigateUrl='<%# Eval("ProductID", "~/Details.aspx?ID={0}") %>'>See Details</asp:HyperLink>