我有一个正在开发的网络应用程序(使用 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/