Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用autopostback进行计算,以避免屏幕闪烁_Javascript_Jquery_Asp.net - Fatal编程技术网

Javascript 如何使用autopostback进行计算,以避免屏幕闪烁

Javascript 如何使用autopostback进行计算,以避免屏幕闪烁,javascript,jquery,asp.net,Javascript,Jquery,Asp.net,我有一个表单,每当用户从web表单上的dropdownlist中选择一个数字时,它都会自动回发。自动回发运行下面的代码,该代码计算表单的编号 截图: 问题是每次重新计算/自动回邮时,屏幕上都会出现令人讨厌的闪烁 有没有另一种方法来编码以停止闪烁 C 问候 Tea使用更新面板,调整Calc应消除或至少大幅减少闪烁 使用UpdatePanel和AJAXing,Calc应移除或至少大幅减少闪烁 假设您可以依靠用户在其浏览器中启用javascript,这是一个简单的客户端解决方案 只需附加一个函数,将所

我有一个表单,每当用户从web表单上的dropdownlist中选择一个数字时,它都会自动回发。自动回发运行下面的代码,该代码计算表单的编号

截图:

问题是每次重新计算/自动回邮时,屏幕上都会出现令人讨厌的闪烁

有没有另一种方法来编码以停止闪烁

C

问候


Tea

使用更新面板,调整Calc应消除或至少大幅减少闪烁


使用UpdatePanel和AJAXing,Calc应移除或至少大幅减少闪烁


假设您可以依靠用户在其浏览器中启用javascript,这是一个简单的客户端解决方案

只需附加一个函数,将所选值相加到要触发计算的每个ddl的更改事件

$("#id-of-ddl").change(callyoursumfunctionhere);

假设您可以依靠用户在其浏览器中启用javascript,这是一个简单的客户端解决方案

只需附加一个函数,将所选值相加到要触发计算的每个ddl的更改事件

$("#id-of-ddl").change(callyoursumfunctionhere);

您可以使用jquery/javascript实现这一点。本教程将帮助您

$('#<%= ddlNoadults.ClientID &>', '#<%= ddlNoadults.ClientID &>', 
'#<%=ddlNoadults.ClientID &>').change(function(){
        calculate();
});

function calculate(){
    num1 = parseInt($('#<%= ddlNoadults.ClientID &>').val());
    num2 = parseInt($('#<%= ddlNoseniors.ClientID &>').val());
    num3 = parseInt($('#<%= ddlNochildren.ClientID &>').val());
    totalt = (num1 * 10) + (num2 * 8) + (num3 * 6);
    $('#<%= tbTotal.ClientID &>').val(totalt) 
}

$(document).ready(function(){
     calculate();
});

您可以使用jquery/javascript实现这一点。本教程将帮助您

$('#<%= ddlNoadults.ClientID &>', '#<%= ddlNoadults.ClientID &>', 
'#<%=ddlNoadults.ClientID &>').change(function(){
        calculate();
});

function calculate(){
    num1 = parseInt($('#<%= ddlNoadults.ClientID &>').val());
    num2 = parseInt($('#<%= ddlNoseniors.ClientID &>').val());
    num3 = parseInt($('#<%= ddlNochildren.ClientID &>').val());
    totalt = (num1 * 10) + (num2 * 8) + (num3 * 6);
    $('#<%= tbTotal.ClientID &>').val(totalt) 
}

$(document).ready(function(){
     calculate();
});

你最好在客户端使用jquery,因为没有服务器端参与计算jquery可以计算ASP.NET DropDownList吗?是的,这将是最快的解决方案。知道任何jquery教程可以帮助我学习它,所以我可以编写代码?我已经回答了用jquery/javascript来做。你最好在客户端使用jquery,因为没有服务器端参与计算jquery可以计算ASP.NET DropDownList吗?是的,这将是最快的解决方案。知道任何jquery教程都可以帮助我学习它,所以我可以编写代码吗?我已经回答了用jquery/javascript来做。更新面板有点过分,因为它仍然会刷新整个页面,只更新一部分。最好是客户端,或者如果需要服务器进行计算,则使用ajax和webservice@RemarkLima因为UpdatePanel什么时候刷新整个页面?@Ian UpdatePanel将发送整个页面的请求,整个页面将与ViewState以及其他所有内容一起发送回浏览器,ASP.NET JavaScript引擎-脚本将只接受更新的部分并更新页面。更新面板是单独发出ajax请求的最低效的方式——读一读:更新面板有点过分,因为它仍然会刷新整个页面,只更新一部分。最好是客户端,或者如果需要服务器进行计算,则使用ajax和webservice@RemarkLima因为UpdatePanel什么时候刷新整个页面?@Ian UpdatePanel将发送整个页面的请求,整个页面将与ViewState以及其他所有内容一起发送回浏览器,ASP.NET JavaScript引擎-脚本将只接受更新的部分并更新页面。更新面板是单独发出ajax请求的最低效的方法-读取: