• 在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 静态类型.

  • 相关阅读:
    序列化注意事项
    HTML5的新结构标签
    MVC模型
    CSS选择器权重计算规则
    HTML常用布局
    盒模型
    Spring Security 学习笔记-session并发控制
    java实例之随机点名
    java之方法重载
    java之方法
  • 原文地址:https://www.cnblogs.com/shcity/p/761659.html
Copyright © 2020-2023  润新知