00asp.net_js前后台代码互访

最近看到好几个帖子都在问后台如何调用前台?前台如何调用后台?
小弟总结了一下share给大家,有不足之处欢迎补充.

HTML code

 

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="JavaScript get Net Function.aspx.cs" Inherits="JavaScript_get_Net_Function" %>

 

<!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.將該方法聲明為類方法(C#中的static,VB.NET中的Shared),而不是實例方法;

            3.將該方法添加【WebMethod】屬性

            4.將頁面中ScriptManager控件的EnablePageMethods屬性設置為true;

            5.在客戶端使用如下JavaScript語法調用該頁面方法

                PageMethods.[MethodName](param1,param2,...,callbackFunction);

            6.為客戶端異步調用指定回調函數,在回調函數中接受返回值并進一步處理;

            7.添加 using System.Web.Services;

    --%>

   

    <%--

        ASP.Net后臺調用JavaScript function的方法,我們要注意:

            1.盡量少用Response.Write(<script></script>);這種方法,它會影響CSS導致頁面效果偏差

            2.C#中使用ScriptManager.RegisterStartupScript(this, this.GetType(), "edit", "JS('"+param1+"','"+param2+"')", true);

            3.添加 using System.Web.UI;

    --%>

  

    <script type="text/javascript">

  

/*-------------JavaScript調用.Net后臺Start----------------------------------*/

        function JsCallCSharp(param1)

        {

            PageMethods.SayHelloFromPage(param1,onSayHelloSucceeded);

        }

       

        function onSayHelloSucceeded(result)

        {

            alert(result);

        }

/*-------------JavaScript調用.Net后臺End----------------------------------*/

       

/*-------------.Net調用JavaScript Start-----------------------------------*/

        function CSharpCallJs(param1,param2)

        {

            alert(param1 + param2);

        }

/*-------------.Net調用JavaScript Start-----------------------------------*/

    </script>

   

</head>

<body>

    <form id="form1" runat="server">

    <div>

        <asp:ScriptManager ID="ScriptManager1" EnablePageMethods="true" runat="server" />

    </div>

   

    <asp:Button ID="Button1" οnclick="Button1_Click" OnClientClick="JsCallCSharp('takako');" runat="server" Text="Button1" />

   

    </form>

</body>

</html>

 

 

 

C# code

 

using System;

using System.Web.Services;

using System.Web.UI;

 

public partial class JavaScript_get_Net_Function : System.Web.UI.Page

{

    protected void Page_Load(object sender, EventArgs e)

    {

 

    }

 

    protected void Button1_Click(object sender, EventArgs e)

    {

        string param1 = "你好:";

        string param2 = "takako_mu";

        ScriptManager.RegisterStartupScript(this, this.GetType(), "edit", "CSharpCallJs('" + param1 + "','" + param2 + "');", true);

    }

 

    [WebMethod]

    public static string SayHelloFromPage(string name)

    {

        return string.Format("Hello {0}!", name);

    }

}

 

 

 

转载于:https://www.cnblogs.com/chenpeng86/p/3214787.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值