【问题标题】:ASP.NET 4 GridView - Pulling a Hyperlink out of a DatabaseASP.NET 4 GridView - 从数据库中提取超链接
【发布时间】:2011-07-29 02:41:29
【问题描述】:

我有一个绑定到 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 格式化为带有它直接从数据库中提取的超链接的格式。

感谢您的帮助。

【问题讨论】:

标签: asp.net gridview


【解决方案1】:

使用Template Field。所以你可以定义你的正常视图和editing view

【讨论】:

    【解决方案2】:

    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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-04
      • 1970-01-01
      • 1970-01-01
      • 2023-03-28
      • 1970-01-01
      • 1970-01-01
      • 2011-12-05
      • 1970-01-01
      相关资源
      最近更新 更多