返回首页

C#如何实现前台与后台方法互调

时间:2018-11-02 21:45来源:知行网www.zhixing123.cn 编辑:麦田守望者

前台与后台方法互调是很多读者关心的功能。下面提供的代码,可以实现C#前台与后台方法互调的目的。
<%@ 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">

<htmlxmlns="http://www.w3.org/1999/xhtml">
<headrunat="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;
--%>

<scripttype="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>
<formid="form1"runat="server">
<div>
<asp:ScriptManagerID="ScriptManager1"EnablePageMethods="true"runat="server"/>
</div>

<asp:ButtonID="Button1"onclick="Button1_Click"OnClientClick="JsCallCSharp('takako');"runat="server"Text="Button1"/>

</form>
</body>
</html>

前台与后台方法互调的C#代码

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

public partial class JavaScript_get_Net_Function : System.Web.UI.Page
{
protectedvoid Page_Load(object sender, EventArgs e)
{

}

protectedvoid Button1_Click(object sender, EventArgs e)
{
string param1 = "你好:";
string param2 = "takako_mu";
ScriptManager.RegisterStartupScript(this, this.GetType(), "edit", "CSharpCallJs('" + param1 + "','" + param2 + "');", true);
}

[WebMethod]
publicstaticstring SayHelloFromPage(string name)
{
returnstring.Format("Hello {0}!", name);
}
}
b

------分隔线----------------------------
标签(Tag):C#
------分隔线----------------------------
推荐内容
  • SQL Server 2008 sa登录报18456错误的解决方法

    许多人用SQL Server用的时间长了会自动报18456错误,SQL Server 18456错误应该说很好...

  • Windows 2003 IIS如何启用Gzip压缩的方法

    经常看到网上有人提问说:开GZIP压缩有什么好处?Gzip开启以后会将输出到用户浏览器的...

  • IIS自定义404错误页面提示系统找不到指定的文件问题

    我们在IIS站点属性里面设置了自定义的404错误页面为一个文件之后,不知道为什么一直不...

  • 支持IPv4与IPv6双协议栈的Web服务器设计实践教程

    嵌入式Web技术因其跨平台的特点得到了广泛的应用[1]。用户只需要登录浏览器即可实现对...

  • SQL查询中回表对性能的影响

    运营反馈某个功能速度很慢,查了一下,定位到如下 SQL: select id from user where n...

  • 高校数据安全全过程管理实践教程

    《网络安全法》出台后,以法律的形式明确要求各类组织切实承担起保障数据安全的责任,...

  • 猜你感兴趣
  • 教育技术学动态
  • 教育技术学论文
  • 理论研究
  • 应用研究
  • 资源收藏
  • 百家观点
  • 英文文献
  • 中国电化教育
  • 电化教育研究
  • 中国远程教育
  • 开放教育研究
  • 现代教育技术
  • 远程教育杂志
  • 现代远距离教育
  • 中国教育信息化
  • 中国信息技术教育
  • 中小学信息技术
  • Flash龙8娱乐官网手机版
  • Photoshop龙8娱乐官网手机版
  • 3DMAX龙8娱乐官网手机版
  • AutoCAD龙8娱乐官网手机版
  • CorelDRAW龙8娱乐官网手机版
  • Matlab龙8娱乐官网手机版
  • 其他龙8娱乐官网手机版
  • .Net龙8娱乐官网手机版
  • Asp龙8娱乐官网手机版
  • Php龙8娱乐官网手机版
  • Jsp龙8娱乐官网手机版
  • Ajax龙8娱乐官网手机版
  • Android教程
  • 其他龙8娱乐官网手机版
  • Word教程
  • Excel教程
  • PowerPoint教程
  • Ubuntu教程
  • 其他教程
  • 课件下载
  • 软件下载
  • 视频教程下载
  • 其他下载
  • 教案大全
  • 试题大全
  • 课件大全
  • 其他大全
  • 人像摄影
  • 风光摄影