博客
关于我
前后台互相调用Function
阅读量:335 次
发布时间:2019-03-04

本文共 2356 字,大约阅读时间需要 7 分钟。

前台代碼:

<%@ 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>

后台代碼:

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);
}
}

转载地址:http://ztje.baihongyu.com/

你可能感兴趣的文章
流量控制--2.传统的流量控制元素
查看>>
shell中的(),{}几种语法用法
查看>>
SNMP介绍及使用,超有用,建议收藏!
查看>>
SDUT2161:Simple Game(NIM博弈+巴什博弈)
查看>>
51nod 1596 搬货物(二进制处理)
查看>>
来自星星的祝福(容斥+排列组合)
查看>>
Hmz 的女装(递推)
查看>>
HDU5589:Tree(莫队+01字典树)
查看>>
Codeforces Round #459 (Div. 2):D. MADMAX(记忆化搜索+博弈论)
查看>>
Linux 6种日志查看方法,不会看日志会被鄙视的
查看>>
不停机替换线上代码? 你没听错,Arthas它能做到
查看>>
后端程序员不得不会的 Nginx 转发匹配规则
查看>>
sharding-jdbc 分库分表的 4种分片策略,还蛮简单的
查看>>
分库分表的 9种分布式主键ID 生成方案,挺全乎的
查看>>
MySQL不会丢失数据的秘密,就藏在它的 7种日志里
查看>>
Python网络编程之socket应用
查看>>
Python开发之序列化与反序列化:pickle、json模块使用详解
查看>>
Git学习笔记:基础篇
查看>>
回顾-生成 vs 判别模型-和图
查看>>
Python 的 type 及常用魔法方法(上)
查看>>