PreviousPage Findcontrol问题

时间:2013-09-24 19:28:42

标签: asp.net gridview

我需要获取以下链接按钮的文本,该按钮设置为回发到另一个页面:

<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

显然它不会(返回空白,不是空)工作,或者我不会发表这篇文章。 :) 请帮忙!

1 个答案:

答案 0 :(得分: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控件中。