c# - 异步更新 ASP.NET 面板

标签 c# asp.net asynchronous triggers updatepanel

我需要一些帮助来解决这个问题:

情况: 我有一个用户控件(在 SharePoint 中)读取查询字符串并使用异步事件处理它。当它忙碌时,会显示一个微调器。事件结束后,用户控件内的更新面板应该更新并显示消息(+隐藏微调器)

代码:我有一个在 UserControl_Unload 事件上异步调用的函数。

private delegate void AsyncFunction(string activation);

void UserControl_Unload(object sender, EventArgs e)
{
    if (!Page.IsPostBack)
    {
        AsyncFunction dlgt = new AsyncFunction(this.CheckUrl);
        AsyncCallback callback = new AsyncCallback(FunctionCallBack);
        IAsyncResult ar = dlgt.BeginInvoke(activationcode, callback, null);
    }
}
private void CheckUrl(string lalala)
{
   // Some code
}

用户控制标记:

<asp:UpdatePanel runat="server" id="pnlContent" updatemode="Conditional"      ChildrenAsTriggers="true">
    <ContentTemplate>
         <asp:UpdatePanel runat="server" id="pnlStatus" UpdateMode="Conditional"  ChildrenAsTriggers="false">
            <ContentTemplate>
                <asp:Label runat="server" ID="lblMessage" />
                <asp:LinkButton runat="server" ID="btnHome" Text="Terug naar welkom-pagina" PostBackUrl="<% $SPUrl:~sitecollection %>"  />
            </ContentTemplate>
        </asp:UpdatePanel>
        <asp:UpdatePanel runat="server" id="pnlGegevens" UpdateMode="Conditional" ChildrenAsTriggers="false">
            <ContentTemplate>
                <div><asp:Image runat="server" ID="imgLoading" AlternateText="Loading..." CssClass="gb_pl_loadingImage" ImageUrl="<% $SPUrl:~sitecollection/Style Library/GB-VW Styles/Images/ajax-loader.gif %>"/></div>
                <div class="gb_pl_loading">Even geduld aub. De gebruiker wordt geactiveerd...</div>
            </ContentTemplate>
        </asp:UpdatePanel>
    </ContentTemplate>
</asp:UpdatePanel>

这一切都很好,但是当我需要更新面板时,它不起作用。

private void FunctionCallBack(IAsyncResult test)
{
    pnlContent.Update()
}

谁知道如何解决这个问题? (如果可能,只使用 asp、c# 或 javascript)

最佳答案

是否可以从客户端触发异步操作?也就是说,显示您的页面但包含进行网络服务调用的 javascript?这样您至少可以等待一些东西,并且您的客户会收到通知,因为它发起了请求。

否则,我看不到异步操作完成后服务器如何更新已经转到客户端的页面。

关于c# - 异步更新 ASP.NET 面板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5989560/

相关文章:

linux - Linux 中的异步定时器

c# - 索引 switch 语句,或等效的? .net, C#

c# - 拖动箭头断点时调试范围内的错误

ASP.Net 5 配置依赖注入(inject)和静态 Controller 构造函数

c# - "The specified network password is not correct."更改用户密码时出现异常

c# - 如何等待调用 Storyboard的任务

javascript - sinon.js stub - 如何 stub async.map

c# - 如何在 XNA 中旋转边界框?

c# - 如何使用runco​​mmand在mongodb上搜索

asp.net - 什么是回发?