【问题标题】:Replacing item databound with jquery ajax calls用 jquery ajax 调用替换项目数据绑定
【发布时间】:2009-04-01 11:50:18
【问题描述】:

我们有一个非常慢的带有中继器的 ASP.NET 页面。它很慢,因为大部分处理都是在转发器的 ItemDataBound 事件中完成的。所有这些处理只会在每行中显示 2 个总数。

要增加吞吐量,最好在没有 ItemDataBound 事件且没有 2 个总数的情况下加载转发器。 而不是在浏览器中加载页面时,可以从每一行进行 AJAX 调用,并且可以异步显示总计。

你能指出任何实现这种解决方案的代码示例吗?

谢谢!

【问题讨论】:

    标签: asp.net jquery json


    【解决方案1】:

    确实,jQuery.ajax() 调用在这里是一个不错的选择。您可以使用它来调用代码隐藏中定义的WebMethod

    至于服务器端计算,您有几个选择:

    1. 将执行计算所需的值嵌入到每行中的 HiddenFields 中,并通过 ajax() 调用中的参数将它们传递给您的 Web 方法。

    2. 使用与上述类似的方法 (HiddenField) 为行传递唯一 ID,并根据该 ID 进行计算。

    至于代码,它可能看起来像这样:

    $('span.show-total').hover(
        function(){
    
            // Show panel here
    
            $.ajax({
                type: "POST",
                url: "PageName.aspx/MethodName",
                data: '{"uniqueId":"' + $(this).find('input[id$=YourHiddenFieldID]').val() + '"}',
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function(msg) {
                    // Do something interesting here.
                    alert(msg.d);
                }
            });
        },
        function(){
           // Hide panel here
        }
    );
    

    【讨论】:

      猜你喜欢
      • 2014-09-02
      • 2016-06-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多