【问题标题】:Listen to events: in HTML from .NET监听事件:来自 .NET 的 HTML
【发布时间】:2009-02-05 08:54:50
【问题描述】:

假设在 HTML 中,在 UpdatePanel 的帮助下,当 ASP.NET 正在处理来自 web 服务的数据时,我正在运行“加载”动画 gif。

我只是想知道是否有一种方法可以在 .NET 代码中实现可以从 HTML 代码中侦听的事件,例如:

我正在从 WebService 中一一请求 Persons 数据,我想在 HTML 端显示加载文本。

Importing person 1
Importing Person 2
Importing Person 3
All Done!

出去

有什么诀窍吗?

现在我的 HTML 代码中有这个

HEAD部分

<script type="text/JavaScript" language="JavaScript">

    function pageLoad() {

        try {
            var manager = Sys.WebForms.PageRequestManager.getInstance();
            manager.add_endRequest(endRequest);
            manager.add_beginRequest(OnBeginRequest);
            manager
        }
        catch (err) {
        }
    }

    function OnBeginRequest(sender, args) {

        $("#loadingText").html("<img src='_assets/img/animated/parweb_loading.gif' alt='' />&nbsp;" + strLoadingText);
    }

    function endRequest(sender, args) {
    }  

</script>

BODY部分有:

<asp:UpdateProgress AssociatedUpdatePanelID="pnlAllIn" runat="server" ID="pnlUpdating">
    <ProgressTemplate>
        <div id="loadingText" style="background-color: Red; position: absolute; width: 200px;
            top: 0px; right: 20px; padding: 5px; color: White; text-align: center; vertical-align: middle;
            font-size: 14px;">
        </div>
    </ProgressTemplate>
</asp:UpdateProgress>

感谢您的帮助。

【问题讨论】:

    标签: asp.net javascript ajax events


    【解决方案1】:

    Microsoft 的 AJAX.NET 是一个上层控件,所以它很容易使用,但你有一点限制。

    有了Michael Schwarz's AJAX.NET library,你可以这样:

    1. 编写一个方法来导入信息。此方法会将日志写入会话或其他地方。

    2. 编写第二种方法来检查此日志并在操作继续时打印。

    【讨论】:

      【解决方案2】:

      您不能使用 AJAX 来执行此操作吗?在单独的线程上触发您对 Web 服务的查询。线程应该保留一个变量的实例(或对一个变量的引用),以跟踪 Web 服务的进度。然后,javascript 可以每 2 秒调用一次以获取状态,然后相应地更新您的 HTML。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-10-15
        • 2020-03-27
        • 2020-08-11
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多