zoukankan      html  css  js  c++  java
  • 在Ajax1.0中调用页面CS文件中的方法

    环境:     
          windows 2003 sp2 + vs 2005 专业版 sp1  +  ajax1.0 正式版

    test.aspx文件代码:

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="test.aspx.cs" Inherits="test" %>

    <!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 runat="server">
        
    <title>无标题页</title>

    <script language="javascript" type="text/javascript">
    // <!CDATA[

    function Button1_onclick() {
    PageMethods.GetTime( h );
        
    return false;
    }


    function h( r)
    {
        alert( r );
    }

    // ]]>
    </script>
    </head>
    <body>
        
    <form id="form1" runat="server">
        
    <div>
            
    <asp:ScriptManager ID="ScriptManager1" EnablePageMethods="true" runat="server">
            
    </asp:ScriptManager>        
            
    <input id="Button1" type="button" value="button" onclick="return Button1_onclick()" /></div>
        
    </form>
    </body>
    </html>


    test.cs 代码如下:

    using System;
    using System.Data;
    using System.Configuration;
    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;

    public partial class test: System.Web.UI.Page
    {
        
    protected void Page_Load(object sender, EventArgs e)
        
    {

        }


        [System.Web.Services.WebMethod]
        
    public string GetTime()
        
    {
            
    return DateTime.Now.ToString();
        }

    }

    真的感叹MS Ajax1.0的易用.这个例子很简单,但有时会报PageMethods未定义的错误,出现这个问题一般是没有为ScriptManager的属性 EnablePageMethods设为true造成的.这个属性的默认值是 false,即不暴露 cs文件中的方法.第二个可能的原因是在方法上忘了加 [System.Web.Services.WebMethod] 特性.
     <asp:ScriptManager ID="ScriptManager1" EnablePageMethods="true" runat="server">
            </asp:ScriptManager> 
        

     有时候由于版本问题,后面CS文件中的被调用函数需要声明为 static 静态类型.

  • 相关阅读:
    Log4Net 配置详解
    .Net Core 获取应用物理路径的常见问题
    Js/Jquery获取iframe中的元素
    Ztree树使用详解
    【解决】nginx + socket.io ,能连接但不响应事件
    基础文档官方链接
    位运算
    Java基础之集合框架--Collections.reverse()方法
    Android动画攻略—帧动画、补间动画、属性动画
    [转]京东mPaaS移动日志建设与应用
  • 原文地址:https://www.cnblogs.com/shcity/p/761659.html
Copyright © 2011-2022 走看看