我们有一个非常慢的ASP.NET页面和一个转发器。它很慢,因为大多数处理都是在转发器的ItemDataBound事件中完成的。所有这些处理只需要在每一行中显示2个总计。
为了提高吞吐量,加载没有ItemDataBound事件且没有2个总计的转发器可能是个好主意。 而不是在浏览器中加载页面,可以从每一行进行AJAX调用,并且可以同步显示总数。
您是否可以指出实现此类解决方案的任何代码示例。
谢谢!
答案 0 :(得分:0)
确实,jQuery.ajax()调用在这里是个不错的选择。您可以使用它来调用代码隐藏中定义的WebMethod
至于服务器端计算,您有几个选项:
将计算所需的值嵌入到每行中的HiddenFields中,并通过ajax()调用中的参数将它们传递给webmethod。
使用与上述类似的方法(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
}
);