2016-08-26 113 views
0

我正在使用数据列表来显示存储在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") %>" /> 

任何帮助是极大的赞赏

+0

尝试在你的NavigateUrl使用单引号:'NavigateUrl ='news.aspx newsItemId = <%#的eval(“newsItemId “)%>'' – Robin

回答

2

试试这个:

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