2015-04-06 73 views
0

我在直放站的ItemTemplate使用的LinkBut​​ton,但如果我的LinkBut​​ton爲NULL,則我不想顯示這個LinkBut​​ton的中繼器的ItemTemplate查找的LinkBut​​ton。我可以在頁面加載上控制此LinkBut​​ton嗎?當在頁面加載

<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

我已經嘗試過但它不工作:( – 2015-04-06 13:46:13