ASP.NET 4 GridView - 从数据库中提取超链接

时间:2011-07-29 02:41:30

标签: asp.net gridview

我有一个绑定到SqlDataSource的GridView。

我正在拉出超链接,这些超链接指向存储在单独的网络空间中的作业描述,数据库并将它们放在GridView中。

这些是完整的超链接,例如“Http://stackoverflow.com/”

最初GridView列是一个简单的BoundField,如下所示:

<asp:BoundField DataField="JobDescription" HeaderText="JobDescription" 
    SortExpression="JobDescription" />

所以我开始尝试将其转换为超链接字段。

<asp:HyperLinkField DataNavigateUrlFields="JobDescription"
    DataTextField="JobDescription" 
    HeaderText="JobDescription"
    SortExpression="JobDescription" 
    Target="_blank" 
    NavigateUrl="{0}" />

这产生了期望的结果,但我不能再在GridView中编辑该列。当它是一个BoundField我可以编辑该项目,但却找不到将它变成超链接的方法。

无论哪种方式都有效......

我要么需要HyperLinkField可以更新,要么我需要将BoundField格式化为超链接,直接从数据库中提取它。

我很感激帮助。

2 个答案:

答案 0 :(得分:1)

使用Template Field。因此,您可以定义普通视图和editing view

答案 1 :(得分:0)

Grrr找到了答案:

<asp:BoundField DataField="JobDescription" HeaderText="Job Description" 
    SortExpression="JobDescription" 
    DataFormatString="<a target='_blank' href='{0}'>Text</a>" 
    HtmlEncode="False" />

您不需要模板字段。必须将HtmlEncode属性设置为false才能将DataFormatString中的html呈现为html,否则它会将所有字符更改为等同于...的内容...

&nbsp;

此处的实体编号:http://www.w3schools.com/tags/ref_entities.asp