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

在页面上放一个ScriptManager控件
Ajax 1.0 中使用web控件调用后台方法的用法.
页面代码如下:
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="True">
</asp:ScriptManager>

然后创建一个该母模板页的子页面.
Ajax 1.0 中使用web控件调用后台方法的用法.

我们创建一个自定义控件
Ajax 1.0 中使用web控件调用后台方法的用法.

在自定义控件的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控件的后台代码写调用方法.要不会报错.

大虾们可以解释下吗?

相关文章:

  • 2022-01-11
  • 2021-11-06
  • 2021-11-19
  • 2021-07-24
  • 2021-06-07
猜你喜欢
  • 2021-06-27
  • 2021-11-19
  • 2022-12-23
  • 2021-10-16
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案