2013-09-24 45 views
2

我需要被設置爲回發到另一個頁面下面的LinkBut​​ton的文字:|上一頁的FindControl問題

<ItemTemplate> 
    <asp:LinkButton ID="LinkButton1" runat="server" Text='<%# Bind("computername") %>' PostBackUrl="~/assetdetails.aspx" CommandName="Select">LinkButton</asp:LinkButton> 
</ItemTemplate> 

我在接收頁面加載事件嘗試了很多事情,但是這是我結束了與:

Dim GV As GridView = TryCast(PreviousPage.Master.FindControl("content").FindControl("GridView2"), GridView) 
Dim LB As LinkButton = TryCast(GV.SelectedRow.Cells(0).FindControl("LinkButton1"), LinkButton) 
lblAsset.Text = LB.Text 

顯然它doesnt(返回空白,非空)工作或我不會做這個職位。 :) 請幫忙!

回答

1

你正在做錯誤的方式。

這裏GridView的是一個內容頁(其利用了主頁)內,所以在內容頁最初訪問GridView本:

If (Not (Me.Page.PreviousPage) Is Nothing) Then 
    Dim ContentPlaceHolder1 As Control = 
        Me.Page.PreviousPage.Master.FindControl("ContentPlaceHolder1") 
    Dim GV As GridView = 
        CType(ContentPlaceHolder1.FindControl("GridView1"), GridView) 

    Dim LB As LinkButton = 
      TryCast(GV.SelectedRow.Cells(0).FindControl("LinkButton1"), LinkButton) 
    lblAsset.Text = LB.Text 
End If 

GridView和其他內容本內ContentPlaceHolder控制實際。

+0

謝謝,我會試試這個。我的代碼中的「內容」是contentplaceholder。它在gridview中查找除templatefields中的文本以外的其他任何列文本。 – Scott