2013-10-04 87 views
0

我有一個添加按鈕外的Repeater控制。當ADD IS點擊一個新行插入到數據庫和數據綁定到中繼器。 點擊添加按鈕我想要一個鏈接按鈕顯示在中繼器的新行中。中繼器按鈕點擊

在此先感謝您的幫助。

DirectCast(e.Item.FindControl("lnksave"), LinkButton).Visible = True 

此代碼我不能放置在我的ADD按鈕的單擊事件。我應該做什麼來顯示新創建的行中的鏈接按鈕。

+0

還有,你試過這麼遠嗎? StackOverflow不是一個神奇的代碼工廠,你需要表明你已經付出了一些努力來解決你自己的問題,並向我們強調你使用該解決方案時遇到的具體問題。關於[如何提問](http://stackoverflow.com/questions/how-to-ask)上的文章通常是一個很好的指南。 – Adrian

+0

阿德里安,這是我試過。謝謝 – user2797643

回答

0

我會成立的LinkBut​​ton的財產Visible="false"在標記:

<asp:Repeater ... 
... ... ... 
    <ItemTemplate> 
     <asp:LinkButton ID="lnksave" runat="server" Visible="false">LinkButton</asp:LinkButton> 
    </ItemTemplate> 

在代碼的網頁水平落後聲明標誌:

Dim btnClicked As Boolean = False 

在添加按鈕的事件方法設置該標誌爲true。然後綁定數據中繼:

Protected Sub btnAdd_Click(sender As Object, e As EventArgs) Handles btnSubmit.Click 
    btnClicked = True 
    BindRepeater() 'your method to data bind repeater 
End Sub 

在直放站的項目數據綁定事件方法檢查標誌,並設置相應的鏈接按鈕的Visible屬性:

Protected Sub Repeater1_ItemDataBound(sender As Object, e As RepeaterItemEventArgs) Handles Repeater1.ItemDataBound 
    If (e.Item.ItemType = ListItemType.Item Or e.Item.ItemType = ListItemType.AlternatingItem) Then 
     Dim lnksave As LinkButton = DirectCast(e.Item.FindControl("lnksave"), LinkButton) 
     lnksave.Visible = btnClicked 
    End If 
End Sub 
+0

謝謝。當我點擊添加我可以在新創建的行中顯示保存鏈接按鈕[但它顯示給所有其他行]。我希望它在新創建的行只有 – user2797643

+0

感謝你afzalulh。 – user2797643

+0

它工作正常 – user2797643