2017-04-10 59 views
-5

即时在我的页面中使用网格视图,我的要求是,当我点击一行(任何一行),它应该被重定向到另一个页面,将显示所选行的详细信息。如何通过点击一个gridview行来重定向到另一个页面

感谢

+0

https://www.google.co.in/search?q=how+to+redirect+to+another+page+by+clicking+on+a+gridview+row' –

+0

使用html定位标记https ://www.w3schools.com/tags/tag_a.asp –

+0

[试试这个](http://stackoverflow.com/questions/331231/c-sharp-gridview-row-click) – User6667769

回答

1

,如果您有jQuery的加载..然后:

$('rowID-or-className').click(function(){ 
    window.location.href = 'https://docs.google.com'; 
}); 
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

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> 
0

在GridView的RowDataBound事件,你可以很容易地做到这一点。这是做到这一点的一种方法,你也可以通过使用这种方法从代码后面和从该特定行传递任何数据:

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

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+"'";  } 
} 

希望它能解决您的问题。

相关问题