c# - 单击超链接字段时获取 gridview 的索引

标签 c# asp.net gridview coding-style detailsview

我有一个正在开发的网络应用程序(使用 C# 的 ASP.NET 2.0)。在其中,我在页面 (My_Page.aspx) 上有一个带有超链接字段的 gridview。单击超链接字段时,它会在同一页面上显示详细信息。

<asp:HyperLinkField DataNavigateUrlFields="ID" 
                    DataNavigateUrlFormatString="My_Page.aspx?id={0}"
                    DataTextField="NAME" 
                    HeaderText="Item1" 
                    SortExpression="NAME" />

我想知道如何找到点击超链接所在行的索引,因为我想改变它的样式,以便用户知道点击了哪一行。

当用户单击 gridview 中的超链接时,我将如何更改它的样式。

谢谢。

最佳答案

在您的示例中,被单击的超链接的“索引”或更确切地说是“id”将在 Request.QueryString["id"] 中

您可以将查询字符串中的 ID 与您在 RowDataBound 事件中绑定(bind)到的行的 ID 进行比较。

或者,您可以在 aspx 中使用 <%# DataBinder.Eval %> 来根据 ID 字段和查询字符串设置样式。

编辑:代码示例,尝试将其添加到后面的代码中。

    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            if(Request.QueryString["id"] != null &&
                Request.QueryString["id"] == DataBinder.Eval(e.Row.DataItem, "id").ToString())
            {
                e.Row.Style.Add("font-weight", "bold");
            }
        }
    }

关于c# - 单击超链接字段时获取 gridview 的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/752806/

相关文章:

c# - Asp.net MVC 路由名称带有 '-'

asp.net - 如何强制 Visual Studio 2008 生成 Designer.cs,例如不管怎样.aspx.designer.cs

c# - Ajax 调用并执行静态方法后,如何刷新 ASP.NET C# 中的 gridview?

android - 带有手势和项目点击监听器的 GridView

c# - ConfigurationManager 在不同的系统上寻找不同的文件

c# - 使用WPF中的MVVM从UserControl冒泡事件。

c# - 在 Java 中运行 C# 代码

asp.net - session 过期事件?

java - 防止列在 GridView 中拉伸(stretch)

c# - 检查 2 个 IEnumerables 之间的区别