<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script src="../Scripts/jquery-2.1.1.js"></script> <script type="text/javascript"> //1. 使用PageMethod 方法
function GetBankName1() {
var Account = document.getElementById("TextBox1").value;
PageMethods.GetBankNameByAccount(Account, onSucceed);
}
function onSucceed(result) {
document.getElementById("Label1").innerText = result;
} //2. 使用AJAX 一部刷新
function GetBankName2() {
var Account = $("#TextBox1").val();
$.ajax({
type: "Post",
url: "GetDataFromDB.aspx/GetBankNameByAccount",
//data: "{'Account':'" + Account + "','Name':'" + 456 + "'}",
data: "{'Account':'" + Account + "'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
document.getElementById("Label1").innerText = data.d;
}
});
} //3. 使用一般的XML请求
function GetBankName3() {
var xmlhttp;
if (window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest();
}
else {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function (data) {
if (xmlhttp.readyState == && xmlhttp.status == ) {
//document.getElementById("Label1").innerText = xmlhttp.responseText;
alert(data);
}
}
var Account = document.getElementById("TextBox1").value;
xmlhttp.open("post", "GetDataFromDB.aspx/GetName", true);
xmlhttp.send(); } </script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label ID="Label2" runat="server" Text="Label"></asp:Label>
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true"></asp:ScriptManager>
Account Number:
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox><br />
Bank Name:<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
<br />
<input id="Button1" type="button" value="Use Page Method" onclick="GetBankName1();" /><br />
<input id="Button2" type="button" value="Use AJAX" onclick="GetBankName2();" />
<input id="Button3" type="button" value="Use XML Request" onclick="GetBankName3();" />
</div>
</form>
</body>
</html>

后台代码:

public partial class GetDataFromD : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Label2.Text = DateTime.Now.ToString();//检测是否实现了局部刷新
}
[WebMethod]
public static string GetBankNameByAccount(int Account)
{
string BankName = "";
using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString))
{
conn.Open();
string sql = "select Name from customers where id=@Account";
SqlCommand cmd = new SqlCommand(sql,conn);
SqlParameter p = new SqlParameter("@Account",Account);
cmd.Parameters.Add(p);
using (SqlDataReader r = cmd.ExecuteReader())
{
if(r.Read())
{
BankName= r[].ToString();
}
}
}
return BankName;
} [WebMethod]
public static string GetName()
{
return "Hello";
}
}

实现AJAX局部刷新以及PageMethod方法的使用的更多相关文章

  1. ajax局部刷新

    //5秒刷新一次 $(function () { setInterval(Refresh, 5000); }); //ajax局部刷新 function Refresh() { $.ajax({ ty ...

  2. php Ajax 局部刷新

    php Ajax 局部刷新: HTML部分 </head> <body> <h1>Ajax动态显示时间</h1> <input type=&quo ...

  3. thickbox关闭子页后ajax局部刷新父页

    1. 首先注意需要调用thickbox的js <script type="text/javascript" src="<%=path%>/js/jque ...

  4. 用户登录ajax局部刷新验证码

    用户登录的时候,登录页面附带验证码图片,用户需要输入正确的验证码才可以登录,验证码实现局部刷新操作. 效果如图: 代码如下: #生成验证码及图片的函数  newcode.py import rando ...

  5. Ajax局部刷新(使用JS操作)

    对于在不使用Ajax的情况下,使用JS来进行局部刷新,主要有如下的几步: 1. 得到XMLHttpRequest 2. 使用open方法打开连接 3. 设置请求头信息 4. 注册onreadystat ...

  6. Ajax 局部刷新 异步提交

    AJAX简介 局部刷新,异步提交. AJAX 不是新的编程语言,而是一种使用现有标准的新方法.它最大的有点就是在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页内容. 浏览器朝后端发送请 ...

  7. 两种局部刷新UITableView的方法的使用条件

    - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ //1.取消选 ...

  8. ajax局部刷新后,如何让局部中的百度分享重新加载

    我这个人不怎么喜欢说太多话,看几个图你们就懂了 Ajax前 Ajax之后 原因分析 解决方法 收工 百度分享是集成了众多主流第三方网站分享和收藏按钮的工具. 通过百度分享轻松将主流第三方网站的分享按钮 ...

  9. ajax局部刷新后里面的jquery事件失效的解决方法

    live() 与bind()作用基本一样. 最重要区别:live()可以将事件绑定到当前和将来的元素(eg:为id=zy元素绑定点击事件,而当你用js动态生成一个节点并插入到dom文档结构中时,如果你 ...

随机推荐

  1. Let's Format Css Documents

    每次想参考一些好看网站的时候,打开css文档都是一行的,琢磨了下就自己写了块短短的代码,各路Java大神别笑我呀.^_^ 复制粘贴控制台的输出就好了.(瞬间觉得跟上大神的脚步了←_←) package ...

  2. Python: how to public a model

    1, Create a folder fileFolder 2, create a file tester.py 3, create another file setup.py: The conten ...

  3. 自增或自减例子:i++和++i的相同点和不同点

    /* Name:++i和i++的区别 Copyright: By.不懂网络 Author: Yangbin Date:2014年2月15日 02:40:27 Description:熟悉前自增或自减的 ...

  4. 修改Eclipse的WorkSpace保持数[转载]

    最近用Eclipse开发特别多,我个人习惯每一个项目一个WorkSpace,这样的话代码干净.而且当项目之前编码规范不一样时,也不会彼此影响.但项目一多,Eclipse默认只保存5个WorkSpace ...

  5. Spring Boot的一个测试用例

    package tk.mybatis.springboot.mapper; import org.junit.Assert; import org.junit.Test; import org.jun ...

  6. 自己动手实现getElementsByClassName

    看了一句话,我们都是搬运工,github的搬运工,下面这代码搬运来自各个地方,最后成型. var classCache = {}; function getElementsByClassName(cl ...

  7. ajax异步通讯 遮罩滚动栏,防止并发及误操作

    加入滚动栏的遮罩,滚动栏图片须要自己调整路径 function loading() { var divloading = "<div id=\"loadingdiv\&quo ...

  8. Java 程序中的多线程

    概述 synchronized  关键字,代表这个方法加锁,相当于不管哪一个线程(例如线程A),运行到这个方法时,都要检查有没有其它线程B(或者C. D等)正在用这个方法,有的话要等正在使用synch ...

  9. URAL 1297 Palindrome 后缀数组

    D - Palindrome Time Limit:1000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u Subm ...

  10. 面试题之String str = new String("abc"); 创建了几个对象

    今天去面试的时候碰到了这个问题:String str = new String("abc"); 创建了几个对象,回来自己研究并查阅资料才发现答错了..网上的争论不少,有的说是两个, ...