You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为GridView的BoundField/TemplateField列添加跳转超链接?

实现GridView Number列添加超链接的方法

你可以通过以下两种常用方式替换原有的TextBox,为Number列添加可跳转的超链接:

方法一:使用ASP.NET HyperLink控件

直接将TemplateField中的TextBox替换为HyperLink控件,绑定链接地址和显示文本:

<Columns>
    <asp:BoundField DataField="type"
        HeaderText="Type"
        ReadOnly="true"
        SortExpression="type" />
    <asp:TemplateField HeaderText="Number" SortExpression="number">
        <ItemTemplate>
            <asp:HyperLink ID="hlNumber" runat="server" 
                <!-- 替换为你的目标链接,将number作为参数传递 -->
                NavigateUrl='<%# $"https://目标地址?number={Eval("number")}" %>'
                Text='<%# Eval("number") %>'
                <!-- 可选:设置新窗口打开链接 -->
                Target="_blank"
                <!-- 可选:模仿原TextBox的样式 -->
                Font-Names="Arial"
                Font-Size="10pt"
                BackColor="Transparent">
            </asp:HyperLink>
        </ItemTemplate>
    </asp:TemplateField>
</Columns>

如果需要根据Type字段动态生成不同的跳转链接,可以配合后台方法实现:

前端代码

<asp:TemplateField HeaderText="Number" SortExpression="number">
    <ItemTemplate>
        <asp:HyperLink ID="hlNumber" runat="server" 
            NavigateUrl='<%# GetTargetUrl(Eval("type"), Eval("number")) %>'
            Text='<%# Eval("number") %>'
            Target="_blank">
        </asp:HyperLink>
    </ItemTemplate>
</asp:TemplateField>

后台C#代码(添加到页面的.cs文件中)

protected string GetTargetUrl(object type, object number)
{
    string typeValue = type.ToString();
    string numberValue = number.ToString();
    
    // 根据Type值返回对应链接
    if (typeValue == "CR")
    {
        return $"https://CR专属地址?id={numberValue}";
    }
    else if (typeValue == "WO")
    {
        return $"https://WO专属地址?code={numberValue}";
    }
    // 默认跳转地址,可自定义
    return "#";
}

方法二:使用HTML原生a标签

如果更倾向于前端原生实现,直接用<a>标签绑定链接即可:

<Columns>
    <asp:BoundField DataField="type"
        HeaderText="Type"
        ReadOnly="true"
        SortExpression="type" />
    <asp:TemplateField HeaderText="Number" SortExpression="number">
        <ItemTemplate>
            <a href='<%# $"https://目标地址?number={Eval("number")}" %>' 
               target="_blank"
               style="font-family:Arial; font-size:10pt; background:transparent;">
                <%# Eval("number") %>
            </a>
        </ItemTemplate>
    </asp:TemplateField>
</Columns>

注意事项

  • 替换代码中的https://目标地址为实际需要跳转的网站地址
  • Target="_blank"参数可选,用于控制是否在新窗口打开链接
  • 若要保持原TextBox的视觉效果,可通过style属性或CSS类设置对应样式

内容的提问来源于stack exchange,提问作者Mahendra

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 16:37:45