使用ScriptManager服务器控件前后台数据交互
Posted 袁言yan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用ScriptManager服务器控件前后台数据交互相关的知识,希望对你有一定的参考价值。
前台页面信息:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="QianBao.Dictionary.WebForm1" %> <!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> </head> <body> <form id="form1" runat="server"> <div> <asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true"> </asp:ScriptManager> <script type="text/javascript"> function tips() { var txt = document.getElementById("TextBox1").value; PageMethods.aa(txt, funRight); } function funRight(val) //回调函数,用val接受后台代码aa的执行结果 { alert(val); } </script> <asp:Label ID="Label1" runat="server" Text="请输入信息:"></asp:Label> <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> <asp:Button ID="Button1" runat="server" Text="提交" OnClientClick="tips()" /> </div> </form> </body> </html>
后台代码
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.Services; namespace QianBao.Dictionary { public partial class WebForm1 : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } [WebMethod] public static string aa(string str ) { return "您输入的是:" + str; } } }
注:前端页面需要引用ScriptManager服务器控件,并且将EnablePageMethods设置为true
PageMethods方法
PageMethods.FunctionName(Parameter1,Parameter2...,funRight,funError,userContext);
parameter是Function的参数 object、Array类型
funRight是方法调用成功的回调函数,对返回值进行处理
funError是后台方法报错后,调用js处理
userContext是可以传递给SuccessMethod方法,或是FailedMethod方法的任意内容。
以上是关于使用ScriptManager服务器控件前后台数据交互的主要内容,如果未能解决你的问题,请参考以下文章
通过Ajax来简单的实现局部刷新(主要为C#中使用的UpdatePanel控件和ScriptManager控件)
在户自定义控件中使用了ScriptManager,那母页里怎么办?
ScriptManager和UpdatePanel用法 (ajax)
基类包括字段“ScriptManager1”,但其类型(System.Web.UI.ScriptManager)与控件(System.Web.UI.ScriptManager)的类型不兼容