【问题标题】:Change gridview text to hyperlink将gridview文本更改为超链接
【发布时间】:2014-01-31 20:06:44
【问题描述】:

我有一个包含用户联系信息的网格视图,我想包含指向他们的电子邮件所在的在线社交媒体配置文件的链接,因此如果我的网格视图有 NAME、ROLE 和 CONTACT,那么联系人行将包含用户的电子邮件地址,然后指向他们的社交媒体帐户的链接。

这是我到目前为止完成此操作的代码,我只是不确定如何使文本成为数据绑定的超链接

protected void Contacts_OnItemDataBound(object sender, GridItemEventArgs e)
        {
            var dataItem = e.Item as GridDataItem;

            if (dataItem != null && dataItem["Contact"].Text == "test@tester.com") 
            {
                dataItem["Contact"].Text = //where I stopped because I figured my text to the hyperlink would go here
            }
        }

这是我的 gridview 的 aspx 代码,我使用的是telerik,但它是相同的想法:

     <telerik:RadGrid ID="Contacts" runat="server">
            <MasterTableView AutoGenerateColumns="False" BorderColor="White" 
                headerStyle-Font-Bold="True" HeaderStyle-ForeColor="White">
                <Columns>
                    <telerik:GridBoundColumn DataField="AlternateContact" FilterControlAltText="Filter AlternateContact column" HeaderText="ALTERNATE" SortExpression="AlternateContact" UniqueName="AlternateContact"/>                       
                    <telerik:GridBoundColumn DataField="Role" FilterControlAltText="Filter Role column" HeaderText="ROLE" SortExpression="Role" UniqueName="Role"/>                       
                    <telerik:GridBoundColumn DataField="Contact" FilterControlAltText="Filter Contact column" HeaderText="CONTACT" SortExpression="Contact" UniqueName="Contact" />                      
                </Columns>
            </MasterTableView>
            </telerik:RadGrid>

任何有关如何完成此操作的建议都会有所帮助,谢谢!

【问题讨论】:

  • 查看 GridView 的 .aspx 标记可能对我们有所帮助。
  • @msm8bball 添加了 aspx 代码

标签: c# html asp.net gridview


【解决方案1】:

有两种方法可以做到这一点。您可以将GridBoundColumn 更改为GridHyperLinkColumn,也可以将HTML 放入GridBoundColumn

假设您的大部分功能正常工作,更改将是这样的:

protected void Contacts_OnItemDataBound(object sender, GridItemEventArgs e)
    {
        var dataItem = e.Item as GridDataItem;

        if (dataItem != null && dataItem["Contact"].Text == "test@tester.com") 
        {
            dataItem["Contact"].Text = String.Format("<a href=\"mailto:{0}\">{1}</a>", emailAddress, emailAddress);
        }
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-05-12
    • 1970-01-01
    • 2017-07-01
    • 2018-09-25
    • 2013-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多