所以我使用这种方法使GridView的每一行都可以点击:
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Attributes["OnClick"] = Page.ClientScript.GetPostBackEventReference(GridView1, "Select$" + e.Row.RowIndex.ToString());
}
}
因此,当我单击一行时,程序会通过GridView.SelectedRowChanged方法重定向到Page1。
每一行还包含一些应该重定向到Page2的HyperLink。但是,单击HyperLink仅重定向到Page1,因为SelectedRowChanged事件首先触发。
单击HyperLink时如何重定向到正确的页面?是否像制作HyperLinks LinkButtons和执行Click方法一样简单?
答案 0 :(得分:1)
您必须检查目标控件是否为锚点,忽略回发执行。检查以下实例。
<div onclick="if(event.target.tagName != 'A') { alert('Foo'); }" style="width: 100px; height: 100px;">
<a href="Default.aspx">Home</a>
</div>
答案 1 :(得分:0)
事实证明,它就像制作HyperLinks LinkButtons并执行Click方法一样简单。谁知道?