0

私が取り組んでいるWebアプリケーションがあります。親ページには、 内にステータス テキスト ボックスがありますUpdatePanel。親ページにはiframe、ページの読み込み時に、たまたま時間がかかる C# の分離コード関数が実行されます。(かなりの数行のコードが実行されます)

s コードビハインド内から親ページを呼び出して、関数内のさまざまな時点で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# コードビハインドの一部:

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();
    }    
}
4

2 に答える 2

0

IFRAME は関数を呼び出すため、親ページの関数を呼び出すことができます (私は JavaScript 関数について話しています)。その親関数を使用して、UpdatePanel のトリガーとして設定されてsetIntervalいる隠しコントロールをプログラムで「クリック」できます。LinkButton

結果: UpdatePanel は一定の間隔で更新されます

于 2013-07-25T22:03:11.603 に答える
0

いくつかのコード例がないと、特定の問題の推測にすぎませんが、次のように親ページのコントロールにアクセスできます。

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

これはあなたが探しているものですか?

于 2013-07-25T21:32:27.840 に答える