使用AJAX直接调用后台方法
2015-10-26 12:49
309 查看
前台代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Untitled Page</title>
<script type="text/javascript">
function btnClick() {
//调用页面后台方法,前面跟方法所需的参数,接着是方法回调成功时要执行的js函数,最后一个是方法回调失败时要执行的js函数
var name = document.getElementById("txtName").value;
PageMethods.UserName(name, funRead, funErr);
}
//result 就是后台方法返回的数据
function funRead(result) {
alert(result);
}
//err 就是后台方法返回的错误信息
function funErr(err) {
alert("Error:" + err._message);
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<%--用户名输入文本--%>
<input type="text" name="txtName" id="txtName" />
<%--第一个测试,通过asp控件进行用户信息获取--%>
<asp:Button ID="txtNamebtn" Text="点击" runat="server" OnClick="txtNamebtn_Click" />
<%-- 下面要加上EnablePageMethods="true"属性,才能使用后台方法;
如果不加,运行时会报"PageMethods"没有定义--%>
<asp:ScriptManager ID="sManager" runat="server" EnablePageMethods="true"></asp:ScriptManager>
<%-- 第二个测试,通过ajax获取用户信息--%>
<input type="button" onclick="btnClick();" value="test" />
</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;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
/// <summary>
/// 第一个测试方式,通过Request.Form.Get("控件名")来获取用户信息
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void txtNamebtn_Click(object sender, EventArgs e)
{
Response.Write("<script>alert('" + Request.Form.Get("txtName").ToString() + "');</script>");
}
/// <summary>
/// 第二测试方式
/// </summary>
//首先需要添加WebMethod表示
[System.Web.Services.WebMethod]
//其次,添加前台调用方法,需公共静态方法 public static
public static string UserName(string name)
{
return "用户名:" +name;
}
}
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Untitled Page</title>
<script type="text/javascript">
function btnClick() {
//调用页面后台方法,前面跟方法所需的参数,接着是方法回调成功时要执行的js函数,最后一个是方法回调失败时要执行的js函数
var name = document.getElementById("txtName").value;
PageMethods.UserName(name, funRead, funErr);
}
//result 就是后台方法返回的数据
function funRead(result) {
alert(result);
}
//err 就是后台方法返回的错误信息
function funErr(err) {
alert("Error:" + err._message);
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<%--用户名输入文本--%>
<input type="text" name="txtName" id="txtName" />
<%--第一个测试,通过asp控件进行用户信息获取--%>
<asp:Button ID="txtNamebtn" Text="点击" runat="server" OnClick="txtNamebtn_Click" />
<%-- 下面要加上EnablePageMethods="true"属性,才能使用后台方法;
如果不加,运行时会报"PageMethods"没有定义--%>
<asp:ScriptManager ID="sManager" runat="server" EnablePageMethods="true"></asp:ScriptManager>
<%-- 第二个测试,通过ajax获取用户信息--%>
<input type="button" onclick="btnClick();" value="test" />
</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;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
/// <summary>
/// 第一个测试方式,通过Request.Form.Get("控件名")来获取用户信息
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void txtNamebtn_Click(object sender, EventArgs e)
{
Response.Write("<script>alert('" + Request.Form.Get("txtName").ToString() + "');</script>");
}
/// <summary>
/// 第二测试方式
/// </summary>
//首先需要添加WebMethod表示
[System.Web.Services.WebMethod]
//其次,添加前台调用方法,需公共静态方法 public static
public static string UserName(string name)
{
return "用户名:" +name;
}
}
相关文章推荐
- struts2 之配置拦截器使网站页面在session失效后退回到登录页面
- 【整理】强化学习与MDP
- Android Studio导入第三方类库的方法
- 测试驱动
- Java核心技术第12章(4)
- 【1.Qt之多线程小入门】
- JAVA抽象类与接口的比较
- AFNetwork 作用和用法详解
- 分词驱动的parser vs. meta character驱动
- LeetCode 093 Restore IP Addresses
- error 65: access violation at 0x40021000 : no 'read' permission
- 算法的力量
- html如何给登录按钮换样式
- str 函数 将小数转换为varchar类型
- Python二维码生成库qrcode安装和使用示例
- 开篇
- Android多媒体编程——图片的大小计算
- Mac下 android 模拟器/真机 host修改
- HTML基础(登录按钮如何改样式)
- ShortestPath:Silver Cow Party(POJ 3268)