2015-04-06 1 views
0

J'utilise un LinkButton dans Répéteur ItemTemplate mais si mon LinkButton est NULL alors je ne veux pas montrer linkButton. Puis-je contrôler ce LinkButton lors du chargement de la page?Trouver linkButton dans Répéteur ItemTemplate quand la page charge

<asp:Repeater ID="rptSlider" runat="server" > 
    <ItemTemplate> 
     <li> 
      ..... 
       <asp:LinkButton ID="lb_url" PostBackUrl='<%#Eval("button_url") %>' runat="server">Go</asp:LinkButton> 
      ... 
     </li> 
    </ItemTemplate> 

Répondre

0

Vous pouvez vérifier la même sous ItemCommand. Veuillez vérifier si le code suivant fonctionne ou non.

protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e) 
{ 
    string url=((LinkButton)e.CommandSource).Text; 

    if (string.IsNullOrEmpty(url)) 

     ((LinkButton)e.CommandSource).Visible=false; 
    else 

     ((LinkButton)e.CommandSource).Visible=true; 

} 
1

Essayez cette façon dans l'événement de chargement des pages

LinkButton linkButton= (LinkButton)Repeater1.Items[0].FindControl("lb_url"); 
linkButton.Visible = false; 

mais je suggère d'utiliser l'événement ItemDataBound pour définir la visibilité du lien bouton.

protected void repeater_ItemDataBound(object sender, RepeaterItemEventArgs e) 
{ 
    if (e.Item.ItemType == ListItemType.Item || 
     e.Item.ItemType == ListItemType.AlternatingItem) 
    { 
     var linkButton= e.Item.FindControl("lb_url") as LinkButton; 
     // set link-button visibility 
    } 
} 
+0

J'ai essayé mais ça ne marche pas :( –