Asp.net 是否可以在for循环中更新Asp:Update面板,类似于windows窗体中的DoEvents()

Asp.net 是否可以在for循环中更新Asp:Update面板,类似于windows窗体中的DoEvents(),asp.net,c#-4.0,updatepanel,Asp.net,C# 4.0,Updatepanel,我一直在尝试获得一个更新面板,以便在代码通过后端C#代码中的for look运行时向屏幕添加控件 我尝试过很多不同的方法,但无论我做什么,我都无法做到这一点 使用ASP.NET可以做到这一点吗 这里有一个简单的例子来说明我的意思 <form id="form1" runat="server"> <div> <asp:ScriptManager ID='mng' runat="server"></asp:ScriptManager>

我一直在尝试获得一个更新面板,以便在代码通过后端C#代码中的for look运行时向屏幕添加控件

我尝试过很多不同的方法,但无论我做什么,我都无法做到这一点 使用ASP.NET可以做到这一点吗

这里有一个简单的例子来说明我的意思

    <form id="form1" runat="server">
<div>
    <asp:ScriptManager ID='mng' runat="server"></asp:ScriptManager>
    <asp:UpdatePanel ID="UPPnl" runat="server" UpdateMode="Conditional">
        <Triggers>
            <asp:AsyncPostBackTrigger ControlID="Add5" EventName="Click" />
        </Triggers> 
        <ContentTemplate>
            <asp:PlaceHolder ID="Place" runat="server"></asp:PlaceHolder>
            <asp:Button ID="Add5" runat="server" Text="Add 5" OnClick="Add5_Click" />
        </ContentTemplate>
    </asp:UpdatePanel>
</div>
</form>

以及背后的代码

 protected void Add5_Click(object sender, EventArgs e)
    {
        for (int i = 0; i < 5; i++)
        {
            Place.Controls.Add(new LiteralControl("Test" + i + "<br />"));
            UPPnl.Update();                
        }
    }
protectedvoid Add5\u单击(对象发送方,事件参数e)
{
对于(int i=0;i<5;i++)
{
Place.Controls.Add(新的LiteralControl(“Test”+i+“
”); UPPnl.Update(); } }
我希望每次通过更新方法进行调试时都能得到一行新的文本。但这似乎不起作用


有什么想法吗?

尝试在页面加载中添加这一行:

ScriptManager1.RegisterAsyncPostBackControl(Add5); 

你有什么错误吗?您是否检查了正在调用Add5_Click方法?我没有收到任何错误。所发生的是,它通过for循环运行,并且只有在完成之后,它才真正更新屏幕。我正在寻找一种方法来停止循环,并在屏幕上添加一个项目。然后继续循环。谢谢,很遗憾,这不起作用。我想用信号器。唯一的问题。我的实际项目要复杂得多。所以植入手术不会很有趣