如何创建一个超链接字段进行SQL查询(How to create a HyperLink field

2019-09-01 03:29发布

在谈到我的这个问题,

GridView的表1与表2中

我有一个GridView它看起来像这样的时刻,

这里是SQL 小提琴

题:

我怎样才能创建一个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 ....

Answer 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


Answer 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);


文章来源: How to create a HyperLink field out of SQL query