asp.net - 使用中继器控件建立动态链接

标签 asp.net .net-2.0 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>

在链接中包含从 ProductID 检索的值 NavigateUrl="~/Details.aspx?ID="

最佳答案

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

......但它没有!

最优雅的方式应该是:

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

关于asp.net - 使用中继器控件建立动态链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/533364/

相关文章:

javascript - 服务器端 C# 方法不是从 ajax 调用 - asp.net

asp.net - 如何消除IIS/ASP.NET双重握手?

css - 当我添加转发器时,ASP.net Webforms runat 服务器调用不起作用

c# - 如何在 ItemCommand 事件中获取 Repeater Item 数据对象

asp.net - 无法为网站禁用 SSL

c# - 指纹识别器

c# - 我如何对没有后端类的网站进行单元测试?

vb.net - 如何将流写入文件?

C# 控制台程序 - 阻止 STDIN 转到 STDOUT

c# - 嵌套在 GridView 中的 Databound 转发器不会更新