C#實(shí)現(xiàn)前臺(tái)與后臺(tái)方法互調(diào)
作者:佚名
本文介紹如何實(shí)現(xiàn)前臺(tái)與后臺(tái)方法互調(diào)。文中提供了HTML代碼以及C#的代碼,希望對(duì)大家有所幫助。
前臺(tái)與后臺(tái)方法互調(diào)是很多讀者關(guān)心的功能。下面提供的代碼,可以實(shí)現(xiàn)C#前臺(tái)與后臺(tái)方法互調(diào)的目的。
- < %@ 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>前臺(tái)與后臺(tái)方法護(hù)調(diào)總結(jié)< /title>
- < %--
- JavaScript異步調(diào)用定義在ASP.Net頁面中的方法, 我們需要:
- 1.將該方法聲明為公有(public);
- 2.將該方法聲明為類方法(C#中的static,VB.NET中的Shared),而不是實(shí)例方法;
- 3.將該方法添加【W(wǎng)ebMethod】屬性
- 4.將頁面中ScriptManager控件的EnablePageMethods屬性設(shè)置為true;
- 5.在客戶端使用如下JavaScript語法調(diào)用該頁面方法
- PageMethods.[MethodName](param1,param2,...,callbackFunction);
- 6.為客戶端異步調(diào)用指定回調(diào)函數(shù),在回調(diào)函數(shù)中接受返回值并進(jìn)一步處理;
- 7.添加 using System.Web.Services;
- --%>
- < %--
- ASP.Net后臺(tái)調(diào)用JavaScript function的方法,我們要注意:
- 1.盡量少用Response.Write(< script>< /script>);這種方法,它會(huì)影響CSS導(dǎo)致頁面效果偏差
- 2.C#中使用ScriptManager.RegisterStartupScript(this, this.GetType(), "edit", "JS('"+param1+"','"+param2+"')", true);
- 3.添加 using System.Web.UI;
- --%>
- < script type="text/javascript">
- /*-------------JavaScript調(diào)用.Net后臺(tái)Start----------------------------------*/
- function JsCallCSharp(param1)
- {
- PageMethods.SayHelloFromPage(param1,onSayHelloSucceeded);
- }
- function onSayHelloSucceeded(result)
- {
- alert(result);
- }
- /*-------------JavaScript調(diào)用.Net后臺(tái)End----------------------------------*/
- /*-------------.Net調(diào)用JavaScript Start-----------------------------------*/
- function CSharpCallJs(param1,param2)
- {
- alert(param1 + param2);
- }
- /*-------------.Net調(diào)用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>
前臺(tái)與后臺(tái)方法互調(diào)的C#代碼
- 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);
- }
- }
【編輯推薦】
責(zé)任編輯:yangsai
來源:
CSDN論壇