【问题标题】:How to create a HyperLink field out of SQL query如何从 SQL 查询中创建超链接字段
【发布时间】:2013-04-19 15:12:07
【问题描述】:

关于我的这个问题,

GridView Table 1 related to Table 2

我现在有一个像这样的gridview,

这里是 SQL fiddle

问题:

如何使用 FruitTitle 创建 HyperLinkField 并链接到水果网站?

这是我目前用于显示 Types_of_Fruits_in_Crate 的代码,效果很好,

            BoundField theField = new BoundField();
            theField.DataField = "Types_of_Fruits_in_Crate";
            gv.Columns.Add(theField);

放什么

            HyperLinkField theField = new HyperLinkField();
            theField.DataTextField = 'Types_of_Fruits_in_Crate';
            theField.DataNavigateUrlFields = // not sure ....

【问题讨论】:

  • +1 以获得良好的格式:)

标签: c# gridview webforms


【解决方案1】:

使用文字控件而不是超链接,然后尝试使用下面的查询:

SELECT CrateTitle,CrateDescription,CrateID,
stuff(
(
  SELECT '<a href=''' + [FruitWebsite] + ''' target=''_blank''>'+ [FruitTitle] +'</a>'
  FROM fruits WHERE CrateID = t.CrateID FOR XML path('')
),1,1,' ') Types_of_Fruits_in_Crate
FROM (SELECT DISTINCT CrateTitle,CrateDescription,CrateID FROM fruits )t

【讨论】:

  • +1,谢谢,但很抱歉,因为它没有按我想要的那样工作,当我只想把fruitTitle 作为 HyperLink 字段时,它会在 fruitTitle 旁边显示 URL
  • 不,它应该只显示 FruitTitle 作为超链接,您是否使用 Literal 控件并将其绑定到此结果?
  • 对我没有用,但我用这个代替,ashishblog.com/blog/…
【解决方案2】:

试试下面的方法,它会帮助你...

SQL FIDDLE: http://www.sqlfiddle.com/#!3/96a49/18

SQL:

SELECT CrateTitle,CrateDescription,CrateID,
stuff(
(
    SELECT ',<a href=''' + [FruitWebsite] + ''' target=''_blank''>'+ [FruitTitle] +'</a>' FROM fruits WHERE CrateID = t.CrateID FOR XML path('')
),1,1,' ') Types_of_Fruits_in_Crate
FROM (SELECT DISTINCT CrateTitle,CrateDescription,CrateID FROM fruits )t

另外,在您的代码中添加 HTML ENCODE = FALSE,然后只有 HTML 功能反映在您的网格视图中

C#:

    BoundField theField = new BoundField();
    theField.DataField = "Types_of_Fruits_in_Crate";
    theField.HtmlEncode = false;
    gv.Columns.Add(theField);

【讨论】:

  • +1,谢谢,但很抱歉,因为它没有按我想要的那样工作,先生,当我只想把fruitTitle 作为 HyperLink 字段时,它会在 fruitTitle 旁边显示 URL
  • 我可能需要使用 ASP:HyperLink 标签而不是 html
猜你喜欢
  • 2014-12-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-12
相关资源
最近更新 更多