ASP.NET 2.0中的ICallbackEventHandler说明
AJAX技术所提倡的无刷新回调,在原来的技术中需要写大量的JavaScript代码或使用一些AJAX框架,使得开发效率和可维护性大大降低。其实ASP.NET2.0中,已经提供了这样的接口,这就是ICallbackEventHandler。
ICallbackEventHandler存在于System.Web.UI中,我们先做一个非常简单的例子来试用一下。
第一步,在VS2005中建立一个新的WEB窗件。
第二步,在ASPX中,放上一段HTML代码(如下):
<button onclick="CallServer()">CallServer</button>
第三步,然后在<HEAD></HEAD>中放入一段JavaScript脚本:
<script type="text/javascript">
function CallServer()
{
var str = "上海XX计算机信息有限公司";
<%= ClientScript.GetCallbackEventReference(this, "str", "ReceiveServerData",null)%>;
}
function ReceiveServerData(serverResponseResult)
{
alert(serverResponseResult);
}
</script>
GetCallbackEventReference的参数说明:
第一个:实现了ICallbackEventHandler接口的页面或者服务器控件,写this代表当前页面。处理客户端回调的服务器 Control。该控件必须实现 ICallbackEventHandler 接口并提供包括必须实现string GetCallbackResult()和void RaiseCallbackEvent(eventArgument)这两个接口函数。
第二个:代表从客户端传递给服务器RaiseCallbackEvent方法的值
第三个:客户端的一个js函数名称,同时,服务器也会把计算得到的数据传递给这个函数做为这个函数的参数。
第四个:启动回调之前在客户端计算的客户端脚本。脚本的结果传回客户端事件处理程序。
第四步,在此ASPX的后台CS代码中,继承ICallbackEventHandler接口,并实现接口中的两个方法: ICallbackEventHandler.GetCallbackResult() 和 ICallbackEventHandler.RaiseCallbackEvent(string eventArgument),并且在Form_load里面添加ClientScript.GetCallbackEventReference(this, "", "", null);
第五步,增加一个变量CallBackValue,并修改接口的两个方法为:
#region ICallbackEventHandler Members
string ICallbackEventHandler.GetCallbackResult()
{
return CallB
相关文档:
首页:
<%@ 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 ......
在web config中 作如下配置:
<connectionStrings>
<add name="ydycon" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;
Data Source=|DataDirectory|ydy.mdb" providerName="System.Data.OleDb"/>
</connectionStrings>
在.net文件中应用链接 ......
public string ClearHtml(string HtmlStr)
{
string tmpStr = HtmlStr;
tmpStr = ReplaceHtml("&#[^>]*;", tmpStr, "");
tmpStr = ReplaceHtml("</?marquee[^>]*>", tmpStr, "");
tmpStr = ReplaceHtml("</?object[^>]*>", tmpStr, "");
tmpSt ......
http://hi.baidu.com/%E5%EB%B3%DF%C8%CB%C9%FA/blog/item/58a1540bbf0bb437b1351d9a.html
#region DataGridView数据显示到Excel
/// <summary>
/// 打开Excel并将DataGridView控件中数据导出到Excel
/// </summary>
/// <param name="dgv">DataGridView对象 </param>
/// <param na ......
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.OracleClient;//引入命名空间 ......