科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道应用软件前后台互相调用function

前后台互相调用function

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

前后台互相调用function

作者:csdn 来源:csdn 2009年12月14日

关键字: ASP.NET 问答

  • 评论
  • 分享微博
  • 分享邮件

前后台互相调用function


<%@ 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" onclick="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);
    }
}

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章