2011-02-15 89 views
0

朋友, 我在中继器的项目模板中有一个链接按钮,我想访问下一页的链接按钮文本。我将postbackurl设置到下一页。但是当我在目标页面的代码后面使用page.PrevoiusPage.Findcontrol(“lnkReport”),我得到一个空值。这些是标记。可以请任何人帮忙吗?无法从中继器的项目模板访问控制ID

<asp:Content ID="Content2" ContentPlaceHolderID="cpmain" runat="Server"> 

<fieldset id="fsTrialAct"></fieldset> 

<asp:Repeater ID="rptRepeater" runat="server"> 

<asp:LinkButton ID="lnkReport" 
     PostBackUrl="~/features/Reports/AdHocReportDetail.aspx" 
      runat="server"><%#Eval("AdhocBurstingReportName")%> 
</asp:LinkButton></p> 

</asp:Repeater> 

</asp:Content> 
+0

你不能这样做,因为Repeater在前一页中生成了多个lnkReport LinkBut​​tons。 – 2011-02-15 14:40:16

回答

0

您使用母版页这样你的中继位于内容占位。您需要做的是找到控制内容占位符先找到中继器

例子:

Control placeHolder = PreviousPage.Controls[0].FindControl("ContentPlaceHolder1"); 
TextBox SourceTextBox = (TextBox)placeHolder.FindControl("TextBox1"); 
if (SourceTextBox != null) 
{ 
    Label1.Text = SourceTextBox.Text; 
} 

我假设你的情况,而不是创建文本框,你应该创建中继对象,并使用的FindControl再次找到该链接。

相关问题