Asp.net 使用中继器控制建立动态链路

Asp.net 使用中继器控制建立动态链路,asp.net,.net-2.0,repeater,Asp.net,.net 2.0,Repeater,我正在使用Repeater控件渲染数据。 假设数据源中有两个字段:productName和ProductID 在以下代码中: <asp:Repeater ID="Repeater1" runat="server" DataSourceID="SqlDataSource1"> <HeaderTemplate> <ul> </HeaderTemplate> <ItemTemplate> <li> <%#Eval("prod

我正在使用Repeater控件渲染数据。 假设数据源中有两个字段: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>
请参阅详细信息
要在链接中包含从ProductID检索到的值,NavigateUrl=“~/Details.aspx?ID=“
NavigateUrl=“~/Details.aspx?ID=“
”)应该可以

。。。但事实并非如此

最优雅的方式应该是:

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

这是我实际做的,但似乎不起作用。Puting NavigateUrl=“~/Details.aspx?ID=”couse:生成设计器文件失败:服务器标记格式不正确。当我将一组引号更改为single时,它将创建链接详细信息。aspx?ID=Edit:您是正确的,因为初始方法实际上不起作用,但更新的方法确实起作用。。。“表达式参数的值必须计算为公共属性。”来源: