我在页面中使用网格视图,我的要求是当我点击一行(行上的任何位置)时,应该将其重定向到另一个页面,该页面将显示所选行的详细信息。
由于
答案 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+"'"; }
}
希望它能解决您的问题。