• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
微软(北京).Net俱乐部-H2O、winnerzone
一个战士一旦穿上军装拿起武器就已经做好了战斗的准备,他将被派往无数战火纷飞的战场,每一次都会有生命的危险。
但是一旦他活下来了,那些都将成为光荣的历史被讲述和回忆。对于一个新兵,危险和机遇并存,机遇大于危险和压力。
博客园    首页    新随笔    联系   管理    订阅  订阅

Ajax 1.0 中使用web控件调用后台方法的用法.

今天在做页面文本框审核的时候发现个Ajax 1.0 中使用web控件调用后台方法的一个不爽的地方.把该调用方法发上来供大家参考.
今天在做页面文本框审核的时候发现个Ajax 1.0 中使用web控件调用后台方法的一个不爽的地方.
把该调用方法发上来供大家参考.
首先我们创建一个MasterPage.master文件.


在页面上放一个ScriptManager控件

页面代码如下:
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="True">
</asp:ScriptManager>

然后创建一个该母模板页的子页面.


我们创建一个自定义控件


在自定义控件的HTML代码下增加如下代码:
<script type="text/javascript">
   
function onblurfun()
    {
        $get(
"span12").innerHTML = "处理中....";
        PageMethods.IsTrue(onSucceedOnBlur);
    }
    
    
function onSucceedOnBlur(result)
    {
        
var sss = result;
        
if(sss)
        {
            $get('input11').value 
= "123345";
            $get(
"span12").innerHTML = "处理结束....";
        }
    }
</script>

<asp:UpdatePanel ID="UpdatePanel1" runat="server">
    
<ContentTemplate>
        
<input id="input11" type="text" value="点击回去数据" onblur="onblurfun()" />
    
</ContentTemplate>
</asp:UpdatePanel>
<span id="span12"></span>
ok我们控件做好了.
将该控件放入刚才的子页面中.在子页面的后台代码处增加如下代码:

using System.Web.Services;
using System.Threading;
//要添加上面两个引用

[WebMethod]
public static bool IsTrue()
{
    Thread.Sleep(
3000);
    
return true;
}

这样我们运行页面就可以进行从web控件异步调用后台页面的方法了.
唯一不爽的就是异步调用后台页面方法的时候,要把方法写到使用该web控件的页面中,而不能在web控件的后台代码写调用方法.要不会报错.

大虾们可以解释下吗?


WINNERZONE
posted @ 2007-08-10 12:07  H2O、winnerzone  阅读(2863)  评论(8)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3