2009-11-18 83 views
2

所以我做了使用這種方法GridView控件可點擊的每一行:可點擊GridViewRow覆蓋孩子的HyperLink

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方法重定向到第1頁。

每行還包含一些應該重定向到Page2的HyperLink。但是,單擊HyperLink只會重定向到Page1,因爲SelectedRowChanged事件首先觸發。

單擊HyperLink時,如何重定向到正確的頁面?這與製作HyperLink LinkBut​​tons並執行Click方法一樣簡單嗎?

回答

0

原來,這與製作HyperLink LinkBut​​tons和執行Click方法一樣簡單。誰知道?

1

您必須檢查目標控件是否爲定位點,忽略回發執行。檢查以下實例。

<div onclick="if(event.target.tagName != 'A') { alert('Foo'); }" style="width: 100px; height: 100px;"> 
    <a href="Default.aspx">Home</a> 
</div>