.NET 前台后台方法相互调用 HTML Code

.NET 前台后台方法相互调用 HTML Code

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

<!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>
    <%--
        JavaScript异步调用定义在ASP.NET页面中的方法,需要:
        1.该方法声明为公有( public );
        2.该方法声明为静态(类方法 static)
        3.该方法添加[WebMethod]属性;
        4.添加using System.Web.Services;
        5.页面中ScriptManager控件的EnablePageMethods属性认为true;
        6.在客户端使用如下JavaScript语法调用页面方法:
            PageMethods.[MethodName](param1,param2,...,CallBackFunction);
        7.为客户端调用指定回调函数,在回调函数中接受返回值并进一步处理
     --%>
        
    <%--
        ASP.NET后台调用JavaScript function方法,要注意:
        1.尽量少用Response.Write(<script></script>);这种方法会影响CSS导致页面效果偏差
        2.C#中使用ScriptManager.RegisterStartupScript(this,this.GetType(),"","JScode",true);
        3.添加 using System.Web.UI;
    --%>
</head>
<body>

    <script type="text/javascript">
   
        /*-----------JavaCript 调用.NET后台 start-------------*/      
        function JsCallCSharp(param) {
            PageMethods.SayHelloFromPage(param, OnSayHelloSucceeded);
        }
       
        /*------------回调函数--------------*/
        function OnSayHelloSucceeded(result) {
            alert(result);
        }
        /*-----------JavaCript 调用.NET后台 end---------------*/


        /*---------.NET调用JavaScript start--------*/     
        function CSharpCallJs(param1, param2) {
            alert(param1 + param2);
        }
        /*----------.NET调用JavaScript end-------*/    
       
    </script>

    <form id="form1" runat="server">
    <asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true"></asp:ScriptManager>
    <div>
        <asp:Button ID="btnTemp" runat="server" OnClientClick="JsCallCSharp('Jay Wang');" OnClick="OnClick" Text="Click Me!"/>
       
    </div>
    </form>
</body>
</html>

 

C# Code

using System;
using System.Web.UI;
using System.Web.Services;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
      
    }
   
    [System.Web.Services.WebMethod]
    public static string SayHelloFromPage(string name)
    {
        return string.Format("Hello {0}!", name);
    }

    protected void OnClick(object sender, EventArgs e)
    {
        string param1 = "你好!";
        string param2 = "Jay Wang";
        ScriptManager.RegisterStartupScript(this, this.GetType(), "edit",      "CSharpCallJs('" + param1 + "','" + param2 + "');",true);
    }
}

posted @ 2012-06-05 13:43  易独  阅读(455)  评论(0编辑  收藏  举报
乐巴儿 一个有声音的公众号
长按,识别二维码,加关注