2009-11-18 3 views
2

cliquable donc j'ai fait chaque ligne d'un cliquable GridView en utilisant cette méthode:enfant remplaçant 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()); 
    } 
} 

Alors que lorsque je clique sur une ligne, le programme redirige vers Page1 via la méthode GridView.SelectedRowChanged.

Chaque ligne contient également un lien hypertexte censé être redirigé vers Page2. Toutefois, en cliquant sur l'hyperlien redirige uniquement vers Page1 car l'événement SelectedRowChanged se déclenche en premier.

Comment est-ce que je redirige vers la bonne page quand on clique sur HyperLink? Est-ce aussi simple que de créer les LinkButtons HyperLinks et d'exécuter la méthode Click?

Répondre

0

Il s'avère que c'est aussi simple que de créer les LinkButtons HyperLinks et d'exécuter la méthode Click. Qui savait?

1

Vous devez vérifier si le contrôle cible est une ancre, ignorer l'exécution de la publication. Vérifiez l'instance suivante.

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