- 浏览: 614283 次
- 性别:
- 来自: 卡哇伊
文章分类
- 全部博客 (299)
- C# (25)
- Java (1)
- WinForm (0)
- Asp.Net (86)
- Jsp (2)
- Php (1)
- Web Service (0)
- Desgin Patterns (19)
- Data Structure & Algorithms (1)
- SQLserver (41)
- Mysql (0)
- Oracle (2)
- Javascript (50)
- Ajax (10)
- Jquery (1)
- Flex (0)
- Regular Expression (5)
- DIV+CSS+XHTML+XML (18)
- Software Test (0)
- Linux (0)
- Utility (17)
- Net Digest (4)
- windows 2003 (10)
- Other (4)
- English (1)
- IT Term (1)
最新评论
-
w497480098h:
学习了 很好谢谢
SQL Server下无限多级别分类查询解决办法(简单查询树形结构数据库表) -
main_fun:
确实不错
iframe自适应高度 -
jveqi:
...
DBA -
mxcie:
其它版本没有确认,今天使用vs2003时,其.sln文件也需要 ...
彻底删除项目的VSS源代码管理信息 -
moneyprosper:
就只有IE支持,火狐和谷歌都不支持此种方法。正在寻找中。。。
从父页面读取和操作iframe中内容方法
.aspx:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> <!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> <script type="text/javascript"> //向服务器传递参数 function DoSearch(){ var firstName=document.getElementById("TextBox1").value; CallServer(firstName,""); } //得到服务器的数据 function ReceiveServerData(txtUserInfo){ Results.innerHTML=txtUserInfo; } //设置每1秒执行一次 setInterval("DoSearch()",1000); </script> </head> <body> <form id="form1" runat="server"> <div> 姓名:<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> <br /> <span id="Results" style="background-color:Pink; width:500px;"></span> </div> </form> </body> </html>
.aspx.cs
using System; using System.Collections; using System.Configuration; using System.Data; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Data.SqlClient; public partial class _Default : System.Web.UI.Page, ICallbackEventHandler { protected string txtUserInfo; protected void Page_Load(object sender, EventArgs e) { //获取一个对客户端函数的引用 string cbReference = Page.ClientScript.GetCallbackEventReference(this, "arg", "ReceiveServerData", "context"); //动态注册回调函数 string callbackScript = "function CallServer(arg,context)" + "{" + cbReference + "};"; //引发callbackScript Page.ClientScript.RegisterStartupScript(this.GetType(), "CallServer", callbackScript, true); } //引发Callback事件处理 public void RaiseCallbackEvent(string txtFirstName) { if (txtFirstName != null) { String connString = System.Configuration.ConfigurationManager.ConnectionStrings["sqlserver2008"].ToString(); SqlConnection conn = new SqlConnection(connString); conn.Open(); SqlCommand comm = new SqlCommand("select * from zzx where [name]=@name", conn); comm.Parameters.Add("@name", SqlDbType.VarChar).Value = txtFirstName; SqlDataReader reader = comm.ExecuteReader(CommandBehavior.CloseConnection); if (reader.Read()) { txtUserInfo = "员工编号:" + reader["id"].ToString() + "<br>"; txtUserInfo += "员工姓名:" + reader["name"].ToString() + "<br>"; txtUserInfo += "地址:" + reader["address"].ToString() + "<br>"; txtUserInfo += "服务器查询时间:" + DateTime.Now.ToString(); } else { if (string.IsNullOrEmpty(txtFirstName)) { txtUserInfo = "请输入姓名"; } else { txtUserInfo = "查无此人"; } } comm.Dispose(); reader.Dispose(); conn.Dispose(); } } //得到回调的结果,返回给客户端 public string GetCallbackResult() { return txtUserInfo; } }
简化版(偷懒一下):
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> <!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> <script type="text/javascript"> function OnCallBack(txtUserInfo,context){ Results.innerHTML=txtUserInfo; } </script> </head> <body> <form id="form1" runat="server"> <div> 姓名:<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> <input id="Button2" type="button" value="button" onclick="<%=Page.ClientScript.GetCallbackEventReference(this, "document.getElementById('TextBox1').value", "OnCallBack",null)%>" /> <br /> <span id="Results" style="background-color: pink; width: 500;"></span> </div> </form> </body> </html>
.aspx.cs
using System; using System.Collections; using System.Configuration; using System.Data; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Data.SqlClient; using System.Text; public partial class _Default : System.Web.UI.Page, ICallbackEventHandler { protected StringBuilder txtUserInfo; protected void Page_Load(object sender, EventArgs e) { } public string GetCallbackResult() { return txtUserInfo.ToString(); } public void RaiseCallbackEvent(string txtFirstName) { txtUserInfo = new StringBuilder(); String connString = ConfigurationManager.ConnectionStrings["sqlserver2008"].ToString(); SqlConnection conn = new SqlConnection(connString); conn.Open(); SqlCommand comm = new SqlCommand("select * from zzx where [name]=@name", conn); comm.Parameters.Add("@name", SqlDbType.VarChar).Value = txtFirstName; SqlDataReader reader = comm.ExecuteReader(CommandBehavior.CloseConnection); if (reader.Read()) { txtUserInfo.Append("员工编号:" + reader["id"].ToString() + "<br>"); txtUserInfo.Append("员工姓名:" + reader["name"].ToString() + "<br>"); txtUserInfo.Append("地址:" + reader["address"].ToString() + "<br>"); txtUserInfo.Append("查询时间:" + DateTime.Now.ToString()); } else { if (txtFirstName == string.Empty) { txtUserInfo.Append("请输入姓名"); } else { txtUserInfo.Append("查无此人"); } reader.Dispose(); comm.Dispose(); conn.Dispose(); } } }
示例3:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default3.aspx.cs" Inherits="Default3" %> <!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> <script type="text/javascript"> //客户端执行的方法 //下面的方法是接收并处理服务器方法返回的结果 function Success(args,context){ message.innerHTML=args; } //下面的方式是当接收服务器方法处理的结果发生异常时调用的方法 function Error(){ message.innerHTML="发生了异常!"; } </script> </head> <body> <form id="form1" runat="server"> <div> 用户名:<input type="text" id="txtUserName" onblur="CallServerMethod(txtUserName.value,null)" /> <span id="message"></span> <br /> 密码:<input type="password" size="10" maxlength="20" id="txtPwd" /> </div> </form> </body> </html>
public partial class Default3 : System.Web.UI.Page,ICallbackEventHandler //实现ICallbackEventHandler接口 { String result = String.Empty; protected void Page_Load(object sender, EventArgs e) { //获取当前页的ClientScriptManager的引用 ClientScriptManager csm = Page.ClientScript; /*获取回调的引用.会在客户端生成WebForm_DoCallback方法, * 调用它来达到异步调用.这个方法是微软写的方法,会被发送 到客户端*/ /*注意这里的"Success"和Error两个字符串分别是客户端代码中 *定义的两个javascript函数*/ //下面的方法最后一个参数的意义:true表示执行异步回调,false标志执行同步回调 String reference = csm.GetCallbackEventReference(this, "args", "Success", "", "Error", true); String callbackScript = "function CallServerMethod(args,context){\n"+ reference+";\n }"; //向当前页面注册javascript脚本代码 csm.RegisterClientScriptBlock(this.GetType(), "CallServerMethod",callbackScript,true); } #region ICallbackEventHandler 成员 /// <summary> /// 返回回调方法执行结果的方法 /// </summary> public string GetCallbackResult() { return result; } /// <summary> /// 在服务器端运行回调方法 /// </summary> public void RaiseCallbackEvent(string eventArgument) { if (eventArgument.ToLower().IndexOf("admin")!=-1) { result =eventArgument+ "不能作为用户注册."; } else { result = eventArgument + "可以注册."; } } #endregion }
发表评论
-
JS操作RadioButtonList
2009-12-16 23:25 3899function IsUpPic() { ... -
asp.net跳转页面的三种方法比较
2009-10-22 14:16 25431.Response.redir ... -
ASP.NET网站中的安全问题
2009-10-20 16:57 1194在网络经常看到网站被 ... -
新闻内容页分页的简单做法
2009-10-10 10:08 1226该例子只是提供了基本思路 很简单的做法,这个是假设数 ... -
Asp.net控件开发学习笔记(二)-控件开发基础
2009-10-03 16:49 1347接上篇…….. 看System.Web.UI.Ht ... -
Asp.net控件开发学习笔记-控件开发基础(一)
2009-10-03 16:33 1251服务器控件开发基础 当开发一个服务器控件时,首 ... -
Asp.net用户退出,清空Session,重定向登陆页面
2009-09-28 16:22 4179protected void Page_Load(object ... -
frameset中的aspx无法Postback
2009-09-28 16:07 1506<frameset cols="150,*&q ... -
.net页面定时刷新的几种简单方式
2009-09-28 11:20 59271: window.setTimeout("win ... -
动态添加TextBox
2009-09-21 16:30 1687方法1: 前台代码: <f ... -
浅谈ASP.NET管道优化
2009-09-20 21:43 1016ASP.NET管道优化 位于请求管道中的很多ASP.NET默 ... -
Asp.net 页面返回到上一页面
2009-09-20 21:20 916/// <summary> / ... -
PrecompiledApp.config文件和Global.asax 文件中的事件的关联
2009-09-19 10:24 2792在用Microsoft Visual Studio 2005开 ... -
gridview列 数字、货币和日期 显示格式
2009-09-11 17:05 1538在设置gridview等数据绑定控件的模版列时,总要 ... -
ASP.NET 打开新窗口几种方法
2009-09-09 21:44 3345ASP.NET打开新窗口方法一: Response ... -
response.addHeader("Content-Disposition","attachment; filename="+filename)中的中文乱码
2009-08-31 15:10 3251两种解决方法 1.如果web.config里utf-8 直接S ... -
技巧和诀窍:如何在VS 2005 SP1中使用VS的web服务器运行一个相对于根目录“/”的网站
2009-08-31 08:29 870大家常有一个疑问,是 ... -
Request.ServerVariables详细说明及代理
2009-08-14 10:46 2148ServerVariables是环境变量的集合。允许读取HTT ... -
DataList和Repeat无数据时提示暂无数据几种方法
2009-08-11 18:45 25761.放一个label DataTable table ... -
Asp.Net中清空所有textbox的几种方法
2009-08-08 08:53 5192用反射: FieldInfo[] info ...
相关推荐
ASP.NET回调技术Callback学习笔记 ASP.NET回调技术Callback是ASP.NET提供的一种机制,允许客户端脚本和服务器端代码之间进行异步通信。通过使用回调机制,可以实现实时更新页面内容、验证用户输入、获取服务器端...
***回调技术Callback是*** Web Form中的一个高级特性,用于异步地将Web应用程序中的客户端与服务器端进行通信。使用回调,可以在不刷新整个页面的情况下,向服务器提交数据并接收处理结果。这一特性对于提升用户体验...
Asp.NET回调函数是Web应用程序中一种非常重要的技术,它允许客户端与服务器进行通信,而无需重新加载整个页面。这极大地提高了用户体验,因为用户可以实时查看数据更新,而无需等待整个页面刷新。在Asp.NET中,回调...
标题提到的“基于Ajax+ASP.NET实现的客户端Callback控件源码例子”是一个具体的示例,展示了如何在ASP.NET环境中使用Ajax技术来创建一个客户端回调功能。客户端回调(Client Callback)是ASP.NET提供的一种轻量级的...
ASP.NET回调函数是一种技术,它允许用户在不重新加载整个页面的情况下与服务器进行交互,从而实现无刷新的数据更新。这种技术极大地提升了用户体验,因为它减少了页面的加载时间和网络流量,尤其适用于实时数据更新...
ASP.NET回调是一个强大的功能,它允许网页在不刷新整个页面的情况下与服务器进行交互,从而实现部分页面更新。这种技术在Web开发中非常常见,尤其是在创建动态、响应式的用户体验时。在本例中,我们将深入探讨如何在...
在ASP.NET 2.0中,引入了一种新的技术,即客户端回调(Client Callback)机制,也称为 Partial Page Rendering 或 UpdatePanel,这使得开发者能够实现无刷新页面更新,提高用户体验。 客户端回调机制的核心是通过...
在 ASP.NET 中,客户端回调是一种优化网页交互的技术,允许页面的部分内容更新而无需完整刷新。这种技术提高了用户体验,因为减少了网络通信的开销。本文将详细介绍如何在 ASP.NET 网页中实现客户端回调,包括回调...
ASP.NET 客户端回调(Client Callback)是一种技术,它允许网页部分更新,而无需整个页面刷新,类似于AJAX(Asynchronous JavaScript and XML)的工作原理。这种技术提高了用户体验,因为用户在等待数据加载时可以...
总的来说,掌握Page类的使用、理解Page生命周期、熟悉IsPostBack属性、善用ClientScriptManager以及精通回调技术,是每个ASP.NET开发者必备的技能。这些知识点的深入理解和应用,将有助于你构建更加高效、交互性更强...
ASP.NET 2.0客户端回调技术是微软在Web开发领域引入的一种创新机制,它允许Web应用程序在不重新加载整个页面的情况下与服务器进行交互,提高了用户体验并降低了网络带宽的消耗。这种技术的核心在于Asynchronous Page...
此外,ASP.NET AJAX也支持Callback Functions,允许开发者定义在服务器响应完成时执行的回调函数,从而实现更复杂的交互逻辑。 在处理AJAX请求时,还要注意错误处理。ASP.NET AJAX提供了一套完整的错误处理机制,...
客户端回调(Client Callback)是ASP.NET AJAX框架中的一个重要特性,它允许客户端在不进行页面刷新的情况下向服务器发起请求,并处理服务器返回的数据。这一过程主要通过JavaScript调用服务器端的代码实现,而无需...
ASP.NET MVC Core 是微软开发的一款基于 .NET Core 的开源框架,用于构建现代化、高性能的 web 应用程序。集成微信登录功能可以让用户通过他们的微信账号便捷地登录到你的网站,提高用户体验并扩大用户基础。本篇...
在ASP.NET中,AJAX回调允许客户端通过JavaScript函数向服务器发送请求,并获取返回的数据。这通常通过调用PageMethods或WebMethods实现,它们是隐藏在代码后面的静态方法,可以直接从客户端JavaScript调用。 7. **...
ASP.NET AJAX(Asynchronous JavaScript and XML)是微软提供的一套用于构建富客户端Web应用程序的技术,它允许开发者创建具有部分页面刷新、无刷新更新和异步交互功能的Web应用。在ASP.NET中,实现AJAX异步请求有...
在这个例子中,`callback`参数是前端传入的回调函数名,`JsonConvert.SerializeObject()`是将数据序列化为JSON的调用。 在jQuery EasyUI的前端部分,我们需要配置表格组件以使用JSONP进行数据加载,例如: ```...
开发者需要处理支付回调(Callback)和异步通信,确保交易安全和一致性。 6. **后台管理**:后台管理系统用于管理员处理订单、管理商品、查看销售报告等。ASP.NET MVC架构可以方便地实现CRUD操作,以及角色权限管理...
7. **Callback Events**:通过定义回调事件,开发者可以指定当服务器端处理完成后触发的客户端事件,增强用户反馈。 8. **Error Handling**:在使用AJAX时,错误处理同样重要。ASP.NET提供了错误处理机制,确保即使...