如何将查询字符串从数据源设置为<a> tag?</a>

时间:2011-10-25 12:15:58

标签: query-string repeater

我正在使用asp.net的转发器控件来绑定数据源。我添加了标签元素作为模板项。我想将查询字符串从我的表设置为标记的href地址。如何在设计中做到这一点?

感谢

1 个答案:

答案 0 :(得分:0)

首先,您有两种方法直接在项目模板中

<ItemTemplate>
    <a href="/Folder/Item.aspx?ID=<%# Eval("KeyField") %>">Text</a>
</ItemTemplate>

或使用超链接

<ItemTemplate>
    <asp:HyperLink ID="myLink" runat="server" Text="Text" />
</ItemTemplate>

此外,您还应在转发器

中的ItemDataBound事件上添加一些逻辑代码
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) {
    var myLink = e.Item.FindControl("myLink") as HyperLink;
    myLink.NavigateUrl = String.Format("~/Folder/Item.aspx?ID={0}", (e.Item.DataItem as YourType).KeyField);
}

数据项是表示DataSource的单个项目。如果您使用DataTable,则很可能是DataRow。它也可以是自定义对象或匿名类型。在这里,我假设您有一个名为YourType的对象,其属性为KeyField