从asp.net C中的iframe中的另一个页面的代码隐藏更新UpdatePanel中的文本框#

时间:2013-07-25 21:11:41

标签: c# asp.net iframe updatepanel

我有一个我正在处理的Web应用程序。在父页面上,我在UpdatePanel中有一个状态文本框。父页面上有一个iframe,页面加载在C#中执行一些代码隐藏功能,这需要很长时间。 (相当多的代码行执行)

我想知道如何从后面的iframe代码中调用父页面,并在函数的不同时间对UpdatePanel进行更新。

以下是主页中的一些html:

<asp:UpdatePanel ID="StatusPanel" ClientIDMode="Static" runat="server" UpdateMode="Conditional">
  <ContentTemplate>
    <asp:TextBox ClientIDMode="Static" ID="txtStatus" runat="server" Width="99%" Enabled="False"></asp:TextBox>
  </ContentTemplate> 
</asp:UpdatePanel>    

我的一些来自iframe的c#codebehind:

foreach (CorpLead lead in leadsPriority1)
{
    UpdateStatus(lead.name);
    xRMData.AssignCorpLead(agentProfiles, lead, service);
}

private void UpdateStatus(string lead)
{
    if (this.Parent.FindControl("txtStatus") != null)
    {
        ((TextBox)this.Parent.FindControl("txtStatus")).Text = lead;
        ((UpdatePanel)this.Parent.FindControl("StatusPanel")).Update();
    }    
}

2 个答案:

答案 0 :(得分:0)

如果没有一些代码示例,它只是猜测您的具体问题,但您可以访问父页面上的控件,如下所示:

if (this.Parent.FindControl("ControlID") != null)
{
    ((Control)this.Parent.FindControl("ControlID")).Property = value;
}

这是你要找的吗?

答案 1 :(得分:0)

由于您的IFRAME调用了一个函数 - 它可以调用父页面的函数(我在谈论JavaScript函数)。该父函数可以使用setInterval以编程方式“单击”隐藏的LinkButton控件,该控件被设置为UpdatePanel的触发器。

结果:UpdatePanel按给定的时间间隔刷新