【问题标题】:Adding a hyperlink column to a 'GridView' dynamically (server-side)将超链接列动态添加到“GridView”(服务器端)
【发布时间】:2013-04-01 12:48:15
【问题描述】:

我有一个 ASP.NET 应用程序,它读取 XML 源并在 GridView 中创建列。这个相同的 XML 源用于在 DataTable 中创建列。应用程序填充DataTable,然后使用服务器端代码将DataTable 绑定到GridView

现在我想在GridView 中显示一个超链接,但不知道该怎么做。 (请注意,应用程序没有使用RowDataBound 事件。)

这是我目前所拥有的:

foreach (XmlNode columnNode in columnNodes)
{    
    dc = new DataColumn(columnNode.Attributes["ColumnName"].Value,
        Type.GetType("System.String"));
    dt.Columns.Add(dc);

    boundField = new BoundField();
    boundField.HeaderText = columnNode.Attributes["ColumnDisplayName"].Value;
    boundField.DataField = columnNode.Attributes["ColumnName"].Value;
    boundField.SortExpression = columnNode.Attributes["ColumnName"].Value; 
    grdView.Columns.Add(boundField);    
} 

其中dtDataTablegrdViewGridView

【问题讨论】:

    标签: asp.net gridview dynamic hyperlink server-side


    【解决方案1】:

    您应该使用HyperLinkField 来完成此操作;它是一种专为显示和格式化超链接而设计的绑定字段。你只需要稍微更新你的代码:

    linkField = new HyperLinkField();
    linkField.HeaderText = columnNode.Attributes["ColumnDisplayName"].Value;
    // The field you want to use as the displayed text of the hyperlink
    linkField.DataTextField = columnNode.Attributes["ColumnName"].Value;
    // The field(s) you want to use in the URL behind the hyperlink
    linkField.DataNavigateUrlFields = new string[] { columnNode.Attributes["ColumnName"].Value };
    // The formatting string for your hyperlink.  Use this to build the links the way you want them.
    linkField.DataNavigateUrlFormatString = "http://yourSiteName/links/{0}";
    linkField.SortExpression = columnNode.Attributes["ColumnName"].Value; 
    grdView.Columns.Add(linkField);
    

    您在问题中遗漏的部分是您希望这些超链接 URL 的外观。 DataNavigateUrlFormatString 非常灵活(它的工作方式类似于 String.Format,因此您可以从静态文本构建 URL 并嵌入数据字段中的文本)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-03-15
      • 1970-01-01
      • 2012-10-28
      • 1970-01-01
      • 1970-01-01
      • 2020-03-08
      • 2010-12-23
      • 1970-01-01
      相关资源
      最近更新 更多