实现AJAX局部刷新以及PageMethod方法的使用
<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方法的使用的更多相关文章
- ajax局部刷新
//5秒刷新一次 $(function () { setInterval(Refresh, 5000); }); //ajax局部刷新 function Refresh() { $.ajax({ ty ...
- php Ajax 局部刷新
php Ajax 局部刷新: HTML部分 </head> <body> <h1>Ajax动态显示时间</h1> <input type=&quo ...
- thickbox关闭子页后ajax局部刷新父页
1. 首先注意需要调用thickbox的js <script type="text/javascript" src="<%=path%>/js/jque ...
- 用户登录ajax局部刷新验证码
用户登录的时候,登录页面附带验证码图片,用户需要输入正确的验证码才可以登录,验证码实现局部刷新操作. 效果如图: 代码如下: #生成验证码及图片的函数 newcode.py import rando ...
- Ajax局部刷新(使用JS操作)
对于在不使用Ajax的情况下,使用JS来进行局部刷新,主要有如下的几步: 1. 得到XMLHttpRequest 2. 使用open方法打开连接 3. 设置请求头信息 4. 注册onreadystat ...
- Ajax 局部刷新 异步提交
AJAX简介 局部刷新,异步提交. AJAX 不是新的编程语言,而是一种使用现有标准的新方法.它最大的有点就是在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页内容. 浏览器朝后端发送请 ...
- 两种局部刷新UITableView的方法的使用条件
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ //1.取消选 ...
- ajax局部刷新后,如何让局部中的百度分享重新加载
我这个人不怎么喜欢说太多话,看几个图你们就懂了 Ajax前 Ajax之后 原因分析 解决方法 收工 百度分享是集成了众多主流第三方网站分享和收藏按钮的工具. 通过百度分享轻松将主流第三方网站的分享按钮 ...
- ajax局部刷新后里面的jquery事件失效的解决方法
live() 与bind()作用基本一样. 最重要区别:live()可以将事件绑定到当前和将来的元素(eg:为id=zy元素绑定点击事件,而当你用js动态生成一个节点并插入到dom文档结构中时,如果你 ...
随机推荐
- Let's Format Css Documents
每次想参考一些好看网站的时候,打开css文档都是一行的,琢磨了下就自己写了块短短的代码,各路Java大神别笑我呀.^_^ 复制粘贴控制台的输出就好了.(瞬间觉得跟上大神的脚步了←_←) package ...
- 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 ...
- 自增或自减例子:i++和++i的相同点和不同点
/* Name:++i和i++的区别 Copyright: By.不懂网络 Author: Yangbin Date:2014年2月15日 02:40:27 Description:熟悉前自增或自减的 ...
- 修改Eclipse的WorkSpace保持数[转载]
最近用Eclipse开发特别多,我个人习惯每一个项目一个WorkSpace,这样的话代码干净.而且当项目之前编码规范不一样时,也不会彼此影响.但项目一多,Eclipse默认只保存5个WorkSpace ...
- Spring Boot的一个测试用例
package tk.mybatis.springboot.mapper; import org.junit.Assert; import org.junit.Test; import org.jun ...
- 自己动手实现getElementsByClassName
看了一句话,我们都是搬运工,github的搬运工,下面这代码搬运来自各个地方,最后成型. var classCache = {}; function getElementsByClassName(cl ...
- ajax异步通讯 遮罩滚动栏,防止并发及误操作
加入滚动栏的遮罩,滚动栏图片须要自己调整路径 function loading() { var divloading = "<div id=\"loadingdiv\&quo ...
- Java 程序中的多线程
概述 synchronized 关键字,代表这个方法加锁,相当于不管哪一个线程(例如线程A),运行到这个方法时,都要检查有没有其它线程B(或者C. D等)正在用这个方法,有的话要等正在使用synch ...
- URAL 1297 Palindrome 后缀数组
D - Palindrome Time Limit:1000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64u Subm ...
- 面试题之String str = new String("abc"); 创建了几个对象
今天去面试的时候碰到了这个问题:String str = new String("abc"); 创建了几个对象,回来自己研究并查阅资料才发现答错了..网上的争论不少,有的说是两个, ...