Hyperlink GridView Column

I need a GridView column that is always a hyperlink when a URL is provided.

I was not able to find one looking through the available controls and/or the documentation.

I created one that inherits from DotVVM.BusinessPack.Controls.GridViewTextColumn, which I’ll include at the end.

Is there an existing GridView column that is a hyperlink and not just plain text?

If there is not, hopefully this helps others out with a similar need.

public class GridViewLinkColumn : DotVVM.BusinessPack.Controls.GridViewTextColumn
    /// <summary>
    /// Gets or sets the value of the HREF property on the anchor tag.
    /// </summary>
    public string Url
        get => (string)GetValue(UrlProperty);
        set => SetValue(UrlProperty, value);
    public static readonly DotvvmProperty UrlProperty = DotvvmProperty.Register<string, GridViewLinkColumn>(c => c.Url, null);
    public GridViewLinkColumn(BindingCompilationService bindingService) : base(bindingService) {}
    public override void BuildCell(HtmlGenericControl cell, GridViewColumn column)
        if (UrlProperty.IsSet(column,false))
            var span = new HtmlGenericControl("span");
            var href = new LinkButton();
            href.Attributes.Add("title", GetBinding(GridViewValueColumn<string, object>.ValueProperty));
            href.Attributes.Add("href", GetBinding(GridViewLinkColumn.UrlProperty));
            href.SetProperty((LinkButton c) => c.Text,
                GetBinding(GridViewValueColumn<string, object>.ValueProperty));

        // If no value is provided for the URL, then use the default GridViewTextColumn contents
            var control = new Literal();
            control.Attributes.Add("title", GetBinding(GridViewValueColumn<string, object>.ValueProperty));
            control.FormatString = this.FormatString;
            control.SetProperty<Literal, string>((Expression<Func<Literal, string>>)(c => c.Text), this.GetBinding(GridViewValueColumn<string, object>.ValueProperty));