我有一个绑定到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格式化为超链接,直接从数据库中提取它。
我很感激帮助。
答案 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,否则它会将所有字符更改为等同于...的内容...