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

开发 后端
本文介绍如何实现前台与后台方法互调。文中提供了HTML代码以及C#的代码,希望对大家有所帮助。

前台与后台方法互调是很多读者关心的功能。下面提供的代码,可以实现C#前台与后台方法互调的目的。

  1. < %@ Page Language="C#" AutoEventWireup="true" CodeFile="JavaScript get Net Function.aspx.cs" Inherits="JavaScript_get_Net_Function" %> 
  2.  
  3. < !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
  4.  
  5. < html xmlns="http://www.w3.org/1999/xhtml"> 
  6. < head runat="server"> 
  7.     < title>前台与后台方法护调总结< /title> 
  8.     < %--  
  9.         JavaScript异步调用定义在ASP.Net页面中的方法, 我们需要:  
  10.             1.将该方法声明为公有(public);  
  11.             2.将该方法声明为类方法(C#中的static,VB.NET中的Shared),而不是实例方法;  
  12.             3.将该方法添加【WebMethod】属性  
  13.             4.将页面中ScriptManager控件的EnablePageMethods属性设置为true;  
  14.             5.在客户端使用如下JavaScript语法调用该页面方法  
  15.                 PageMethods.[MethodName](param1,param2,...,callbackFunction);  
  16.             6.为客户端异步调用指定回调函数,在回调函数中接受返回值并进一步处理;  
  17.             7.添加 using System.Web.Services;  
  18.     --%> 
  19.      
  20.     < %--  
  21.         ASP.Net后台调用JavaScript function的方法,我们要注意:  
  22.             1.尽量少用Response.Write(< script>< /script>);这种方法,它会影响CSS导致页面效果偏差  
  23.             2.C#中使用ScriptManager.RegisterStartupScript(this, this.GetType(), "edit", "JS('"+param1+"','"+param2+"')", true);  
  24.             3.添加 using System.Web.UI;  
  25.     --%> 
  26.     
  27.     < script type="text/javascript"> 
  28.     
  29. /*-------------JavaScript调用.Net后台Start----------------------------------*/  
  30.         function JsCallCSharp(param1)  
  31.         {  
  32.             PageMethods.SayHelloFromPage(param1,onSayHelloSucceeded);  
  33.         }  
  34.          
  35.         function onSayHelloSucceeded(result)  
  36.         {  
  37.             alert(result);  
  38.         }  
  39. /*-------------JavaScript调用.Net后台End----------------------------------*/  
  40.          
  41. /*-------------.Net调用JavaScript Start-----------------------------------*/  
  42.         function CSharpCallJs(param1,param2)  
  43.         {  
  44.             alert(param1 + param2);  
  45.         }  
  46. /*-------------.Net调用JavaScript Start-----------------------------------*/  
  47.     < /script> 
  48.      
  49. < /head> 
  50. < body> 
  51.     < form id="form1" runat="server"> 
  52.     < div> 
  53.         < asp:ScriptManager ID="ScriptManager1" EnablePageMethods="true" runat="server" /> 
  54.     < /div> 
  55.      
  56.     < asp:Button ID="Button1" onclick="Button1_Click" OnClientClick="JsCallCSharp('takako');" runat="server" Text="Button1" /> 
  57.      
  58.     < /form> 
  59. < /body> 
  60. < /html> 

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

  1. using System;  
  2. using System.Web.Services;  
  3. using System.Web.UI;  
  4.  
  5. public partial class JavaScript_get_Net_Function : System.Web.UI.Page  
  6. {  
  7.     protected void Page_Load(object sender, EventArgs e)  
  8.     {  
  9.  
  10.     }  
  11.  
  12.     protected void Button1_Click(object sender, EventArgs e)  
  13.     {  
  14.         string param1 = "你好:";  
  15.         string param2 = "takako_mu";  
  16.         ScriptManager.RegisterStartupScript(thisthis.GetType(), "edit""CSharpCallJs('" + param1 + "','" + param2 + "');"true);  
  17.     }  
  18.  
  19.     [WebMethod]  
  20.     public static string SayHelloFromPage(string name)  
  21.     {  
  22.         return string.Format("Hello {0}!", name);  
  23.     }  
  24. }  

【编辑推荐】

  1. 如何将ViewState持久化
  2. 常用Web Service汇总(天气预报、时刻表等)
  3. .NET操作Word的实现:using Word
  4. ASP.NET新手问题总结
  5. 深入研究Repeater控件:***的灵活性
责任编辑:yangsai 来源: CSDN论坛
相关推荐

2009-08-19 04:16:00

C#代码与#函数相互调

2009-08-19 14:35:12

C++和C#相互调用C

2009-08-20 14:22:17

C#实现 Contro

2009-08-19 17:00:07

C#实现PrintPa

2009-09-01 18:29:10

C#继承C#多态

2009-08-14 17:04:19

Windows后台服务

2018-01-16 16:32:12

架构前台后台

2009-09-11 11:39:23

C# RadioBut

2009-09-07 09:36:29

C# DisposeDispose方法

2009-08-25 14:26:28

C#播放AVI文件

2009-09-02 18:53:28

C#鼠标坐标

2009-04-20 10:09:46

C#优先队列.NET Framew

2009-08-28 12:41:49

静态方法与非静态方法

2009-09-10 17:37:01

C# get post

2024-05-16 12:33:37

C#编程指针

2009-09-10 18:06:25

C# button快捷

2009-07-31 13:48:09

C#时间转换

2009-08-26 17:16:22

C# CheckSta

2009-08-17 17:40:53

C# GetAllCu

2009-08-26 09:50:08

C# GreetPeo
点赞
收藏

51CTO技术栈公众号