博文
介绍一本书《道不远人:深入解析ASP.NET 2.0控件开发 》(2007-09-29 14:01:00)
摘要:该书作者(thin)主页:http://thinhunan.cnblogs.com/,下面是该书的目录:
第1章 理解ASP.NET编程模型 1
1.1 ASP.NET运行时模型 2
1.2 HttpModule应用举例 4
1.2.1 二级域名Cookie处理 5
1.2.2 RegexUrlMapping 7
1.3 HttpHandler应用举例 12
1.4 HttpHandlerFactory应用举例 15
1.5 页面编程模型 17
1.6 页面编程模型应用举例 20
1.6.1 生成静态缓存页面 20
1.6.2 控制页面状态存取 23
1.7 本章小结 28
第2章 呈现内容 29
2.1 选择基类 29
2.2 System.Web.UI.Control.Render()方法 30
2.2.1 HelloWorld 31
2.2.2 相册 33
2.2.3 Render()是怎样被调用的 34
2.3 HtmlTextWriter的两个拍档 35
2.4 WebControl的呈现过程 38
2.4.1 继承WebControl的“相册”控件 40
2.5 CompositeControl的呈现过程 42
2.5.1 EmailInput控件 42
2.5.2 组合控件如何呈现子控件 44
2.6 装饰Attribute 47
2.7 本章小结 49
第3章 属性 50
3.1 公开控件属性&......
记录我学习ASP For AJAX的旅程三(2007-09-24 16:21:00)
摘要:上一篇我做了一个简单的无刷新的留言功能,接下来这一篇,我做了一个简单实用的asp ajax的分页例子,我学习的代码如下:
function.asp:
<script language="javascript" type="text/javascript">
function pagesort(page)
{
var url='page.asp';
var pars='page='+page;
var LoadZone = document.createElement('div');
LoadZone.setAttribute('id', 'Load');
LoadZone.innerHTML = "Loading......";
$('pagecontent').appendChild(LoadZone);
var myAjax=new Ajax.Request(
url,
{
method:'get',
parameters:pars,
onComplete:showResponse
 ......
记录我学习ASP For AJAX的旅程二(2007-09-21 15:46:00)
摘要:记录我学习ASP For AJAX的旅程,做了一个简单的发布留言的功能,但是体验性不错。
<!--#include file="../ajaxed.asp"-->
<%
'实例化对象p
set p=new ajaxedPage
'打开数据库连接
p.DBConnection=true
'加载整个页面
p.draw()
'初始化页面
sub init():end sub
sub callback(action)
if action = "do" then
p.return(dos(p.RF("tle"),p.RF("uname"),p.RF("mal"),p.RF("ste"),p.RF("cent")))
end if
end sub
function dos(tle,uname,mal,ste,cent)
if Not p.RFHas("tle") then
lib.error("Please check the toic!")
elseif Not p.RFHas("uname") then
lib.error("Please check the name!")
elseif Not str.isValidEmail(mal) or Not p.RFHas("mal") then
lib.error("Please check the email!")
elseif Not str.isValidHomepage(ste) or Not p.RFHas("ste") then
lib......
记录我学习ASP For AJAX的旅程一(2007-09-21 00:36:00)
摘要:<!--#include file="../ajaxed.asp"-->
<%
set p=new ajaxedPage
'db.open(AJAXED_CONNSTRING)
p.DBConnection=true
p.draw()
sub init():end sub
sub callback(action)
if action = "do" then
p.return(db.getRecordset("Insert Into [tt](Title,Content)values('"& p.RF("tle") & "','" & p.RF("cent") & "')"))
end if
end sub
sub main()%>
<script>
function done()
{
$("showinfo").innerHTML="Successfully inserted!";
}
</script>
<form id="frm">
<div id="showinfo"></div>
<span><input type="text" id="tle" name="tle" /></span><br /><br />
<span&......
dotnet框架的学习笔记(不断更新)(2007-09-17 13:43:00)
摘要:SOAP---简单对象访问协议
意思:用来描述通过HTTP协议发送的特殊格式的XML。
Passport
意思:是一种用户认证服务。
目的是:为了保证信息访问的安全。
.NET Framework包含两个部分:
CLR--通用语言运行时
FCL--.NET框架类库
代码重用、代码专业化(code specialization)
CIL--通用中间语言--编译器编译面向.NET框架的源代码时所产生的
CTS--通用类型系统--CLR要求所有面向它的语言都要遵循的规范
CLS--通用语言规范--描述了一个语言要和其他的语言很好地集成在一起所必须要遵循的规范。
类型安全--系统所分配的对象总能够以正确方式被访问;应用程序执行流程只能向已经确知的位置传递(真正的方法入口点)。
异常--将恢复代码和真正的应用程序逻辑代码分离开来实现。
CAS--代码访问安全。
IL(Intermediate Language)中间语言汇编器。
一、将源代码编译为托管模块
托管模块是一个需要CLR才能执行的标准windows可移植可执行(portable executable)简称PE文件。
托管代码(managed code)
托管模块的组成部分:PE表头、CLR表头、元数据(metadata)、中间语言(IL)代码
元数据是一个数据表的集合,一些用于描述托管模块中所定义的内容(比如所定义的类型和它们的成员),一些用于描述托管模块中所引用的内容
(比如被引用的类型和它们的成员)。
类型库、接口定义语言(IDL)
MFC(Microsoft Foundation Class)
二、将托管模块组合为程序集
程序集(assembly)是一个或多个托管模块,以及一些资源文件的逻辑组合。程序集是组件复用,以及实施安全策略和版本策略的最小单位。可以是一个文件或多个文件。
清单(manifest)的数据块,是一些元数据表的集合。描述了组成程序集的文件。
程序集连接器(AL)
自描述(self-describing)
三、加载通用语言运行时
MSCorEE.dll是微软组件对象运行时执行引擎
JMP指令
托管模块中包含着元数......
Prototype and Scriptaculous in Action(2007-09-17 13:37:00)
摘要:今年来真得出了很多新书,多得你很想看,但是你总会抽时间来看。ajax热得不得了,可以从她的libraries可以看出,多得你意想不到。例如有prototype、jquery、Ext等。你可以从中选择一些你喜欢的类库来学习,体验一下javascript也可以OOP, javascript也可以这样玩的,有时一些被遗忘的技术,其潜在力量是那么的可怕!好了,回归正题,说一下我介绍的这本书的简介以及我提供的下载吧。
对于Prototype and Scriptaculous,我不介绍了,网上已经有API文档了。我只说一下这本书的content,以下是这本书的目录(呵呵!赖得翻译了):
foreword
preface
acknowledgments
about this book
about the title
about the cover illustration
Part 1 Getting Started
1 Introducing Prototype and Scriptaculous
1.1 A brief history of Ajax
1.2 What is Prototype?
1.3 What is Scriptaculous?
1.4 Applying Prototype and Scriptaculous
1.5 Summary
2 Introducing QuickGallery
2.1 Design and implementation
2.2 Evaluating the classic web app model
2.3 Summary
3 Simplifying Ajax with Prototype
3.1 Redesigning for Ajax
3.2 Using XML and Ajax
3.3 Using JSON and Ajax
3.4 Summary
4 Using Prototype抯 Advanced Ajax Features
4.1 Prototype抯 advanced Ajax classes
4.2 Using HTML and Ajax
4.3 Comp......
Client端异步Callback实现的原理(2007-09-15 22:45:00)
摘要:我已经介绍了Client-Callback技术,那么让我们来探讨一下Client-Callback技术怎样实现异步刷新吧(实现原理)。正所谓"知其然,知其所以然"。
运行前一篇文章的(http://blog.programfan.com/article.asp?id=29426)例子,用firebug调试并打开查看一下WebResource.axd?d=23ERqfzqTJs6_Rg9n1je_Q2&t=633249794114687500。你会发现里面大有文章,呵呵!微软已经帮你封装好实现异步所需要的技术了,即是XmlHttpRequest对象。从firebug里面的js代码总共有537行,实现的技术大部分围绕XmlHttpRequest对象以及Dom技术。下面分析核心代码(core)的实现过程吧。Let's Start!
下面的一段代码取自WebForm_DoCallback的函数里面:
var xmlRequest,e;
try {
xmlRequest = new XMLHttpRequest();
}
catch(e) {
try {
xmlRequest = new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e) {
}
}
var setRequestHeaderMethodExists = true;
try {
setRequestHeaderMethodExists = (xmlRequest && xmlRequest.setRequestHeader);
}
catch(e) {}
var callback = new Object();
callback.eventCallback = eventCallback;
callback.context = context;
callback.errorCallback = errorCallback;
callback.async = useAsync;
v......
Client端异步Callback的应用与介绍(2007-09-15 21:40:00)
摘要:1、Client端异步Callback的介绍:它是通过前端Client端向后端服务器传递参数数据,服务器再以接收到的参数进行查询或处理,最后将结果回传给前端显示结果的技术。
2、如果大家AJAX 异步技术比较熟悉的话,那么对Client-Callback技术应该也不会陌生的。Client-Callback技术与AJAX其实实现的效果是一样的,只不过实现的技术与方式不同罢了。她们异步传送与接收少量数据,实现局步刷新,而非Postback整个ViewState状态。这样比起传统的给用户一个不错的体验!
3、上面已经粗略介绍了一下Client-Callback技术,下面我将会举一个例子来阐述一下实现的过程吧。
客户端Callback.aspx页面:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="CallBack.aspx.cs" Inherits="CallBack" %>
<!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>Client端的异步Callback</title>
<script language="javascript" type="text/javascript">
function Sum()
{
var Result=document.getElementById("txtResult");
CallServer(Result.innerText,"");
}
function ReceiveServerData(rvalue)
{
&nbs......
ASP.NET 2.0中客户端脚本总结(2007-09-14 20:21:00)
摘要:ASP.NET2.0客户端脚本使用的总结,如果总结的不够好或者其他原因请不吝请教.
1.使用OnClientClick属性打开客户端脚本,使用方法如下:
js脚本:
<script language="javascript" type="text/javascript">
<!--
function opensite()
{
window.open("http://www.csdn.net");
return true;
}
//-->
</script>
调用方法:
<asp:Button ID="Button1" OnClientClick="opensite()" runat="server" Text="打开站点" />
2.动态注册js脚本,下面介绍一下以下四个方法的含义与使用:
以下几种方法都是派生自ClientScriptManager类,研究一下里面有几十个方法,而且有些重载了.我拿最常用的方法讲一下.
1) RegisterClientScriptBlock方法:将js区块添加到页面顶端,你可以以字符串形式创建这些js代码,然后将它传递给添加网页的方法。其对应的包含方法IsClientScriptBlockRegistered()
使用方......
ajaxwindows--一个webOS的预览 (2007-09-13 19:36:00)
摘要:ajaxwindows的介绍:
ajaxwindows看起来和感觉好象你自己的桌面系统或者移动PC系统。她拥有一个开始按钮、一条任务栏、一个桌面、图标、边栏、一个可控制的面板以及文件浏览器。这全部像你们曾经在常规PC所使用的那样,有一个大的不同点是--她们全部在web上。而她有个最好的部分是你在来自任何地方、以及与因特网连接的任何计算机上都能够使用。而你所需要的是你的安全名字与密码。你能够从ajaxwindows那里获得你的文件、书签、文档资料、以及图片和音乐。你所需要的一切去完成这些工作或者获得她带给你的乐趣。
ajaxwindows图片预览:
享受她的网址如下:
http://www.ajaxwindows.com/apps/windows/content/GenIE_new.html
......