2007年01月29日

原创 ASP.NET应用程序级缓存的设计思路与实现

【背景】页面包含许多需要显示数据库数据的控件,每次打开页面的效率都很低【目标】1.减少页面响应时间,从而提高用户访问速度;2.缓存应在用户访问页面之前起作用,而不是像ASP.NET窗体/用户控件缓存那样随用户访问被动创建;3.能提供全局的缓存策略配置;4.不同的控件各自拥有不同的缓存空间、过期时间及数据更新逻辑 阅读全文>

发表于 @ 2007年01月29日 20:10:00|评论(loading...)|编辑|举报|收藏

2007年01月21日

原创 ASP.NET是微软继MFC之后最无用的框架

ASP.NET的封装隐藏了许多HTML细节,有助于桌面开发者通过最小代价掌握Web开发,但是这种封装是以牺牲浏览器执行效率为代价的。阅读全文>

发表于 @ 2007年01月21日 20:38:00|评论(loading...)|编辑|举报|收藏

2007年01月19日

原创 使用ASP.NET开发遵循HTML/XHTML+CSS规范的的Web应用

系统从外到内可以分为: * Web应用层 作用:从.NET Framework得到客户端的Http请求,并向.NET Framework输出页面的HTML代码 内容:ASP.NET窗体、ASP.NET用户控件(UserControl)以及其他页面所需要的资源 * 控件层 作用:为应用层提供通用的界面控件,管理其内部控件并对外输出其自身的HTML代码 内容:ASP.NET Web自定义控件 * 业务层 作用:向界面层(Web应用及控件)提供业务接口,直接或间接与数据库交互传递数据 内容:数据访问类或OR Mapping实现 本文探讨Web应用层的实现,主要目标包括: 1. 提供模板页布局支持 2. 对页面输出的HTML代码进行优化,做到数据和外观分离——也就是遵循基于HTML/XHTML+CSS的网页规范 阅读全文>

发表于 @ 2007年01月19日 22:29:00|评论(loading...)|编辑|举报|收藏

2007年01月08日

原创 HTML+CSS实现圆角矩形(不需要图片)——抄自GTalk

从GTalk的css模板里抠出来的东东 :P 道理其实很简单,架设矩形的圆角高度为4,那么由上到下依次是(单位px,所给出的边框宽度均为1px且颜色保持保持一致): 高度为1,左右间隔均为5,仅有上方边框的div; 高度为1,左右间隔均为3,仅有左右边框的div; 高度为1,左右间隔均为2,仅有左右边框的div; 高度为1,左右间隔均为1,仅有左右边框的div; 左右间隔均为0,仅有左右边框的div——放置内容; 高度为1,左右间隔均为1,仅有左右边框的div; 高度为1,左右间隔均为2,仅有左右边框的div; 高度为1,左右间隔均为3,仅有左右边框的div; 高度为1,左右间隔均为5,仅有下方边框的div阅读全文>

发表于 @ 2007年01月08日 15:54:00|评论(loading...)|编辑|举报|收藏

原创 触发器对记录的更改操作引起Nhibernate异常的解决

问题产生:原先使用Nhibernate执行更新操作(Store)一切正常,在对数据库表增加了触发器——作用:将当前更改记录的访问用户(suser_sname())及时间(getdate())写入被更改记录的特定字段——后,Nhibernate操作发生异常阅读全文>

发表于 @ 2007年01月08日 13:14:00|评论(loading...)|编辑|举报|收藏

2006年03月10日

原创 为什么要自动生成代码?

为什么要自动生成代码? 参照Ruby on Rails 完全可以做成一个runtime mvc framework for .NET 支持数据库增删改查 以WebControl为用户提供良好的设计时环境 阅读全文>

发表于 @ 2006年03月10日 09:46:00|评论(loading...)|编辑|举报|收藏

原创 runtime mvc framework for .NET

为什么要自动生成代码? 参照Ruby on Rails 完全可以做成一个runtime mvc framework for .NET 支持数据库增删改查 以WebControl为用户提供良好的设计时环境阅读全文>

发表于 @ 2006年03月10日 09:45:00|评论(loading...)|编辑|举报|收藏

2004年08月02日

原创 【MasterPages实用技巧】为模板增加前端控制②——自动注册客户端全局脚本

HTML页面可以定义客户端脚本,为页面外观提供丰富的可视化行为和逻辑,客户端脚本可以写在或中。写在中的脚本就是文本所指的“全局”脚本,为什么说它是全局的呢?因为中定义的客户端脚本函数可以在中任何地方被访问,而在中函数外部定义的客户端脚本,也能在页面加载后的第一时间,按顺序被浏览器执行,而且能够访问页面中的全部对象。相对的,中的脚本只能按顺序执行,其中定义的函数只能被其后的客户端脚本调用,其访问的页面对象也必须在其之前定义。 由于MasterPages无法正确输出中定义的Region/Content,那么为每一个窗体提供客户端全局脚本注册的任务,同样落在了模板控件的Page_Load事件处理函数身上。阅读全文>

发表于 @ 2004年08月02日 20:41:00|评论(loading...)|编辑|举报|收藏

2004年07月31日

原创 【MasterPages实用技巧】为模板增加前端控制①——自动生成页面标题

上一回我们已经了解了MasterPages的基本使用方法,但是在实际使用过程中我们也会发现,这样的模板还无法满足要求。 笔者首先遇到的问题是页面标题。 对于使用模板的Web窗体来说,它的页面标题应该怎样写?一般情况下,页面标题由HTML的标准元素TITLE标记指定,它存在于HEAD标记内。可现在只有模板控件内存在完整的HTML标记,其他窗体都仅仅是通过MasterPages“引用”了这些公共的HTML元素。那么页面标题应该写在哪里?阅读全文>

发表于 @ 2004年07月31日 23:46:00|评论(loading...)|编辑|举报|收藏

2004年07月30日

原创 【MasterPages实用技巧】使用MasterPages实现Web窗体模板

如果你是一个网页开发人员,面对大量含有重复内容的页面,你一定希望能利用“模板”定义网页内的公共部分,而每一个页面只需要完成其特有的内容,通过模板生成最终的页面。 熟悉Dreamweaver的网页开发人员都会喜欢其中的模板(Template)功能。但是当我们转换到了ASP.NET平台,却不得不使用一个基本上只能算是文本编辑器的微软开发环境(当然这应该是一个最完美的文本编辑器),微软在图形化网页设计方面也只能算是一个门外汉。尽管如此,即使没有所见即所得的图形化设计界面,微软以及其他开源志士们还是为我们提供了丰富的Web窗体前端控件。其中的MasterPages可以说是最有用的,因为它实现了Dreamweaver中的模板功能,而且在ASP.NET框架的支持下,使用模板变得更简便,我们甚至可以编程为自己的模板添加许多功能。阅读全文>

发表于 @ 2004年07月30日 22:48:00|评论(loading...)|编辑|举报|收藏

2004年07月29日

原创 MasterPage之超严重Bug——将导致窗体内带有回发事件的控件无法回发事件——以及解决方案

当用户访问 1、使用了MasterPage的Web窗体 2、并且窗体内含带有回发事件的Web服务器端控件(比如LinkButton,这是很常见的,在DataGrid里用得太多了) 那么 1、页面打开时,IE会报JavaScript脚本错误——某行某个字符后期待";" 2、点击那些带有回发事件的Web服务器端控件(比如翻页时),IE会再次提示脚本错误——第1行第1个字符处,对象未定义——而页面将会没有任何反应(没有回发) 经多次验证比较,发现这个问题由的根源在Web窗体最终生成的客户端页面内,其中的__doPostBack函数。阅读全文>

发表于 @ 2004年07月29日 21:30:00|评论(loading...)|编辑|举报|收藏

2003年06月13日

原创 ASP.NET拾萃——服务器端控件篇(二)

ASP.NET拾萃——服务器端控件篇(二)阅读全文>

发表于 @ 2003年06月13日 15:58:00|评论(loading...)|编辑|举报|收藏

原创 ASP.NET拾萃——服务器端控件篇(一)〖本文对服务器控件有错误认识〗

在客户端的JavaScript脚本中获取服务器端控件的值阅读全文>

发表于 @ 2003年06月13日 15:57:00|评论(loading...)|编辑|举报|收藏

原创 ASP.NET拾萃——服务器端控件篇(序)

ASP.NET拾萃——服务器端控件篇(序)阅读全文>

发表于 @ 2003年06月13日 15:52:00|评论(loading...)|编辑|举报|收藏

2002年09月27日

原创 Duwamish 7 初探——数据流程

Duwamish 7 初探——数据流程阅读全文>

发表于 @ 2002年09月27日 11:33:00|评论(loading...)|编辑|举报|收藏

Csdn Blog version 3.1a
Copyright © uno