Asp.net 是否有任何方法可以显示处理消息,然后使用ajax调用服务器端方法,并根据结果进行回发
我在页面上有一个asp.net按钮,当用户单击它时,将首先显示一条消息(“正在处理…”)然后,我使用ajax调用一些服务器端代码来执行一些操作,并基于服务器端方法返回的值来执行回发事件。我一直都在这样做-该过程发生在iframe中。随着事情的进展,会话变量将更新。调用Web方法的PageMethods在包含iframe的页面中用于查询会话变量的值,并显示用户进度。当会话报告“完成”时,我单击按钮以引起回发。尝试JQuery BlockUI。它易于使用,请参见下面的示例()Asp.net 是否有任何方法可以显示处理消息,然后使用ajax调用服务器端方法,并根据结果进行回发,asp.net,.net,ajax,Asp.net,.net,Ajax,我在页面上有一个asp.net按钮,当用户单击它时,将首先显示一条消息(“正在处理…”)然后,我使用ajax调用一些服务器端代码来执行一些操作,并基于服务器端方法返回的值来执行回发事件。我一直都在这样做-该过程发生在iframe中。随着事情的进展,会话变量将更新。调用Web方法的PageMethods在包含iframe的页面中用于查询会话变量的值,并显示用户进度。当会话报告“完成”时,我单击按钮以引起回发。尝试JQuery BlockUI。它易于使用,请参见下面的示例() 无标题页 $(文档)
无标题页
$(文档).ready(函数(){
$.blockUI.defaults.overlycss.backgroundColor='#ff0';
$('#test')。单击(函数(){
$.blockUI({message:'Please wait..',css:{width:'275px'}});
$.ajax({
url:'test.html',
键入:“GET”,
成功:职能(e){
setTimeout(函数(){$.unbui();}
,2000)
},
错误:函数(e){
$.unbui();
}
});
});
$(“#是”)。单击(函数(){
//更新阻止消息
$.blockUI({消息:“正在进行远程调用…”);
$.ajax({
url:'wait.php',
cache:false,
完成:函数(){
//远程呼叫返回时解除阻止
$.unbui();
}
});
});
$('#否')。单击(函数(){
$.unbui();
返回false;
});
});
请你用一个例子详细说明一下,我已经回答了好几次了-在这里看一下(不要使用iframe,它真的很笨重)对不起,我没有提到,我使用的是.net framework 2.0,没关系-应该很好谢谢你的回答,但我也想阻止UI,有什么办法吗?谢谢你的评论,但我正在通过ajax进行同步调用,根据结果,我的页面将发回,阻止ui使用同步调用
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Untitled Page</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js" type="text/javascript"></script>
<script src="http://malsup.github.io/jquery.blockUI.js" type="text/javascript"></script>
<link href="style.css" rel="stylesheet" type="text/css" />
<script type="text/javascript">
$(document).ready(function() {
$.blockUI.defaults.overlayCSS.backgroundColor = '#ff0';
$('#test').click(function() {
$.blockUI({ message: 'Please wait..', css: { width: '275px' } });
$.ajax({
url: 'test.html',
type: 'GET',
success: function(e){
setTimeout(function(){ $.unblockUI(); }
,2000)
},
error: function(e){
$.unblockUI();
}
});
});
$('#yes').click(function() {
// update the block message
$.blockUI({ message: "<h1>Remote call in progress...</h1>" });
$.ajax({
url: 'wait.php',
cache: false,
complete: function() {
// unblock when remote call returns
$.unblockUI();
}
});
});
$('#no').click(function() {
$.unblockUI();
return false;
});
});
</script>
</head>
<body>
<input id="test" type="submit" value="Show Dialog" />
</body>
</html>