2015-04-06 8 views
0

Я использую LinkButton в Repeater ItemTemplate, но если мой LinkButton является NULL, то я не хочу, чтобы показать это LinkButton. Могу ли я управлять этим LinkButton на загрузке страницы?Найти LinkButton в Repeater ItemTemplate при загрузке страницы

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

ответ

0

Вы можете проверить то же самое под ItemCommand. Проверьте, работает ли следующий код или нет.

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

Попробуйте этот путь в случае загрузки страницы

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

, но я предлагаю использовать ItemDataBound событие, чтобы установить видимость ссылок кнопки.

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

Я попробовал, но он не работает :( –