【问题标题】:adding sql query output to hyperlink in asp.net将sql查询输出添加到asp.net中的超链接
【发布时间】:2010-11-08 14:36:23
【问题描述】:

我想以前可能有人问过,但我找不到正确的答案,所以我在这里问。我添加了一个工作正常的数据源,我想要一个功能,我可以从数据库中查询前 n 个条目并使用超链接添加它。把它想象成最新消息! DataList 的 ItemTemplate 中超链接的标记是这样的。

 <asp:HyperLink ID="HyperLink1" runat="server" 
                Text='<%# Eval("News_Id") %>' NavigateUrl="~/News.aspx?NewsId=<%#Eval("News_Id") %> " runat="server" /> </asp:HyperLink>

但是我得到错误为“创建控件时出错,服务器标签格式不正确”。它报告放置引号的错误。

我知道我可以使用 datanavigateurl 属性,但我想以这种方式编写它。如上面的标记中所写。我该怎么办?

重写后

NavigateUrl='~/Product.aspx?DVDID=<%#Eval("Title") %> ' 

我得到以下网址

http://localhost:61221/Product.aspx?DVDID=

【问题讨论】:

  • 这个问题的标题绝对是误导。这是关于数据绑定,而不是 SQL 查询本身。

标签: asp.net sql url hyperlink data-binding


【解决方案1】:

试试这个:

<asp:HyperLink ID="HyperLink1" runat="server"
    Text='<%# Eval("News_Id") %>' 
    NavigateUrl='<%#Eval("News_Id", "~/News.aspx?NewsId={0}") %>' 
    runat="server" /> 
</asp:HyperLink>

必须在单引号内,否则会报错。

要在绑定标签中连接字符串,可以使用:

<%# "~/News.aspx?NewsId=" + Eval("News_Id").ToString() %>

【讨论】:

  • 这样做后,我得到以下超链接localhost:61221/… %>它没有处理Eval
  • 更新了我的答案,请尝试新的答案。
  • 我也知道那个方法..我想连接文字文本和 eval 方法。
  • 知道了 '' 这行得通!虽然我知道这是原始方式,但您建议的是新的方式,更好的是 datanavigateurl。尽管如此,还是感谢您的帮助。
  • 是的,我正在写我的新答案:)
猜你喜欢
  • 2011-03-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-25
  • 1970-01-01
  • 1970-01-01
  • 2020-07-15
  • 2015-08-21
相关资源
最近更新 更多