如何在datalist中创建动态超链接

时间:2016-08-26 13:59:57

标签: c# asp.net hyperlink datalist

我正在使用数据列表来显示存储在SQL Server数据库中的新闻报道摘要。

<asp:DataList ID="DL_NewsSummary" runat="server" DataKeyField="newsItemId" 
    DataSourceID="DS_NewsSummary">
    <ItemTemplate>
        <h3>
            <asp:HyperLink ID="headlineLink" runat="server" Text = '<%# Eval("headline") %>' NavigateUrl="#" />
        </h3>
        <asp:Label ID="dateLabel" runat="server" Text='<%# Eval("date") %>' />
        <br />
        <asp:Label ID="introLabel" runat="server" Text='<%# Eval("intro") %>' />
        <hr />      
    </ItemTemplate>
</asp:DataList>

当用户点击标题超链接时,他们应该在单独的页面news.aspx上拍摄完整的故事。此页面将从查询字符串中获取newsItemId,并使用与该ID相关联的故事填充页面,例如news.aspx?newsItemId=1

然而,当我将navigateUrl字段更改为以下内容时,我得到的服务器标签格式错误。

<asp:HyperLink ID="headlineLink" runat="server" Text = '<%# Eval("headline") %>' NavigateUrl="news.aspx?newsItemId=<%# Eval("newsItemId") %>" />

非常感谢任何帮助

1 个答案:

答案 0 :(得分:2)

试试这个:

NavigateUrl='<%# "news.aspx?newsItemId=" + Eval("newsItemId") %>'