C# GridViews - 单击时使一列中的单元格链接到另一页面

标签 c# asp.net gridview hyperlink cell

我有一个从数据库填充的 GridView 。

我需要这样做,以便特定列中的每个单元格在单击时都将链接到第二页并将单元格的文本值作为查询字符串传递(即链接到 http://mysite.com/page.aspx?CellText= 'blah blah blah' )。听起来很简单,我知道,但我就是不明白!

这就是我的页面目前的样子:

<asp:GridView id="gdvTargets" 
          runat="server" 
          AutoGenerateEditButton="true" 
          OnRowEditing="gdvTargets_RowEdit"
          OnRowUpdating="gdvTargets_RowUpdating" 
          OnRowUpdated="gdvTargets_RowUpdated" 
          OnRowCancelingEdit="gdvTargets_RowCancelingEdit"

          cssClass="grid"
          >
<HeaderStyle CssClass="GridHeader"></HeaderStyle>

以及我背后的 C# 代码:

 protected void Page_Load(object sender, EventArgs e)
    {
year = Request.QueryString["YearSelector"];
targetType = Request.QueryString["TargetType"];

      gdvTargets.DataSource = this.Ets.Api.Util.Db.GetDataTable("EXEC sp_getTargets " + year + ", " + targetType).Return;
      gdvTargets.DataBind();

    }

这会产生一个看起来像这样的表格:

ID        System        Target 1       Target 2       Target3       Target 4
0         ALL           10             20             15             10
2         Machine1      4              7              7              7
5         Xfgb 45       6              13             8              3

我希望系统列可单击并链接到新页面,但带有系统名称。希望这是有道理的!感谢您的帮助:D

最佳答案

您可以执行以下操作:

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
            e.Row.Cells[0].Text = "<a href=''>" + e.Row.Cells[0].Text + "</a>";
}

将 0 替换为您的列索引

关于C# GridViews - 单击时使一列中的单元格链接到另一页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12692010/

相关文章:

c# - HttpClient.GetAsync 在具有锁屏访问以及 TimeTrigger 或 MaintenanceTrigger 的后台任务中失败

c# - C#中线程的合理使用?

asp.net - 使用 Razor 页面禁用按钮

ASP.NET 在 GridView 中从代码隐藏设置 HtmlInputRadioButton 名称

c# - 如何在 WebPartZone 中加载 highchart 脚本

asp.net - 向导控件中的 Gridview 自定义分页在 asp.net 中无法正常工作

asp.net - ASP.NET 中的 GridView 空数据模板

c# - 更新面板不更新

c# - 引用值参数VS返回值哪个好?

c# - 如何在 ASP.NET MVC 中正确地将复选框值提交给 Controller