如何通过单击gridview行重定向到另一个页面

时间:2017-04-10 08:20:16

标签: javascript c# jquery sql asp.net

我在页面中使用网格视图,我的要求是当我点击一行(行上的任何位置)时,应该将其重定向到另一个页面,该页面将显示所选行的详细信息。

由于

4 个答案:

答案 0 :(得分:1)

如果你加载了jQuery ..那么:

$('rowID-or-className').click(function(){
    window.location.href = 'https://docs.google.com';
});

答案 1 :(得分:0)

您可以使用OnSelectedIndexChanged

<asp:GridView ID="GridView1" runat="server" OnSelectedIndexChanged="OnSelectedIndexChanged">
    <Columns>
        <asp:BoundField DataField="Name" HeaderText="Name" />
        <asp:BoundField DataField="Country" HeaderText="Country"/>
    </Columns>
</asp:GridView>
<asp:LinkButton ID="lnkDummy" runat="server"></asp:LinkButton>
protected void OnSelectedIndexChanged(object sender, EventArgs e)
{
    // do some business and redirect
}

可以找到完整示例here

答案 2 :(得分:0)

以下是工作示例:

 <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
      <script>
      $(document).ready(function(){
        $('#id').click(function(){
   window.location.href = 'www.test.com';
  });
  });
 </script>


 <div id="id">CLick</div>

答案 3 :(得分:0)

在gridview RowDataBound事件上,您可以轻松完成此操作。这是一种方法,您也可以使用此方法从后面的代码和特定行传递任何数据:

这是一个代码简单示例:它将为gridview中的所有行设置onclick事件。

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
 if (e.Row.RowType == DataControlRowType.DataRow)
    {
        e.Row.Attributes["onclick"] = "window.location.href='YourPage.aspx'";
    }
}

如果你想从那个被点击的行中传递一些值,例如你在该行中有一个标签,它有一个唯一的行数据ID,那么你可以将这个id传递给你的页面并获取该页面上的所有数据加载事件,你可以这样做:

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
 if (e.Row.RowType == DataControlRowType.DataRow)
    {
        string idd = ((Label)e.Row.FindControl("lblId")).Text;
        e.Row.Attributes["onclick"] = "window.location.href='Youpage.aspx?id="+idd+"'";        }
}

希望它能解决您的问题。