我有一个我正在处理的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();
}
}
答案 0 :(得分:0)
如果没有一些代码示例,它只是猜测您的具体问题,但您可以访问父页面上的控件,如下所示:
if (this.Parent.FindControl("ControlID") != null)
{
((Control)this.Parent.FindControl("ControlID")).Property = value;
}
这是你要找的吗?
答案 1 :(得分:0)
由于您的IFRAME调用了一个函数 - 它可以调用父页面的函数(我在谈论JavaScript函数)。该父函数可以使用setInterval
以编程方式“单击”隐藏的LinkButton
控件,该控件被设置为UpdatePanel的触发器。
结果:UpdatePanel按给定的时间间隔刷新