H_J_H
------专用杂物房
posts - 26, comments - 1, trackbacks - 0, articles - 119
导航
IT博客
首页
新随笔
联系
聚合
管理
公告
这里没有原创,只有转贴。没有别人,只有自己。没有你需要的,只有我需要的。 -----本Blog只方便于本人工作和学习编程而设立,所以只进行本人所需技术文章保存用,且全为转贴。
<
2024年12月
>
日
一
二
三
四
五
六
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
常用链接
我的随笔
我的评论
我参与的随笔
留言簿
(1)
给我留言
查看公开留言
查看私人留言
随笔档案
(26)
2006年3月 (2)
2006年2月 (5)
2005年12月 (1)
2005年10月 (1)
2005年9月 (1)
2005年8月 (16)
文章分类
(45)
AJAX系列(21)
Asp.Net控件学习/资料
Asp/Asp.Net 集锦大集合(4)
C#学习(4)
HTML网页设计学习与技巧(2)
HttpModule系列
SQL
Visual Studio 2005 系列
Wap开发
工程开发(2)
思想算法
系统技巧(1)
网络应用(4)
美工技巧(7)
文章档案
(119)
2006年11月 (7)
2006年7月 (1)
2006年6月 (7)
2006年5月 (19)
2006年4月 (21)
2006年3月 (13)
2006年2月 (29)
2006年1月 (12)
2005年12月 (6)
2005年11月 (1)
2005年10月 (3)
搜索
最新评论
1. re: 一个无刷新二级联动下拉列表,同样适用与firefox,这算ajax么?
dfgdfgfhgf
--dfgfdg
阅读排行榜
1. 用实例解说Dot Net设计模式——装饰模式(227)
2. 创建型模式之间的比较(219)
3. Dot NET设计模式—反射工厂(195)
4. Dot Net设计模式—MVC模式 (194)
5. 一步一步建网-2-DotNetNuke4-4-页面增加/删除/设置(187)
评论排行榜
1. Dot Net设计模式—MVC模式 (0)
2. 用实例解说Dot Net设计模式——装饰模式(0)
3. 创建型模式之间的比较(0)
4. .NET反射、委托技术与设计模式(0)
5. Dot Net设计模式—适配器、桥接与外观三模式之间的关系(0)
[导入][转贴]vs2005 新控件之 Substitution
Posted on 2006-06-01 11:52
H_J_H
阅读(171)
评论(0)
编辑
收藏
引用
Substitution 控件,简单通俗的说(我的理解): 按照自己的意愿指定网页中那些部分可以被缓存,那些不能!
下面是引用 慧都控件网上 downmoon 的文章
Substitution控件----动态更新缓存页的部分
缓存某个 ASP.NET 页时,默认情况下会缓存该页的全部输出。在第一次请求时,该页将运行并缓存其输出。对于后续的请求,将通过缓存来完成,该页上的代码不会运行。
在某些情况下,可能要缓存 ASP.NET 页,但需根据每个请求更新页上选定的部分。例如,您可能要缓存某页的很大一部分,但需要动态更新该页上的与时间高度相关的信息。
可以使用 Substitution 控件将动态内容插入到缓存页中。Substitution 控件不会呈现任何标记。您需要将该控件绑定到页上或父用户控件上的方法中。您要自行创建静态方法,以返回要插入到页中的任何信息。由 Substitution 控件调用的方法必须符合下面的标准:
此方法被定义为静态方法(在 Visual Basic 中为共享方法)。
此方法接受 HttpContext 类型的参数。
此方法返回 String 类型的值。
注意,Substitution 控件无法访问页上的其他控件,也就是说,您无法检查或更改其他控件的值。但是,代码确实可以使用传递给它的参数来访问当前页上下文。
在页运行时,Substitution 控件会调用该方法,然后用从该方法的返回值替换页上的 Substitution 控件。
下面的代码示例演示如何使用 Substitution 控件在缓存页上创建动态更新的内容。页的 Load 事件中的代码用当前时间来更新 Label 控件。因为页的缓存持续时间已设置为 60 秒,所以 Label 控件的文本不会更改,即使在 60 秒的时间内多次请求了该页。页上的 Substitution 控件调用静态方法 GetTime,该方法将以字符串的形式返回当前时间。每次刷新页时,Substitution 控件表示的值都会更新。
下面用两种方式来未演示这个特性:
代码一:
<
script
runat
="server"
>
static string getCurrentTime(HttpContext context)
{
return
DateTime.Now.ToString();
}
void
Page_Load(object sender, EventArgs e)
{
Response.Cache.SetExpires(DateTime.Now.AddSeconds(
600
));
Response.Cache.SetCacheability(HttpCacheability.Public);
Response.Cache.SetValidUntilExpires(
true
);
}
</
script
>
<
div
>
<
h4
>
在缓存页面插入动态内容--使用substitution控件演示
</
h4
>
<
p
>
Cache Time:
<%
=
DateTime.Now.ToString()
%>
</
p
>
<
p
>
<
b
>
Real Time:
<
asp:Substitution
ID
="Substitution1"
runat
="server"
MethodName
="getCurrentTime"
/>
</
b
>
</
p
>
</
div
>
代码二
<%
@ OutputCache Duration
=
"
600
"
VaryByParam
=
"
none
"
%>
<
script
runat
="server"
>
static string getCurrentTime(HttpContext context)
{
return
DateTime.Now.ToString();
}
</
script
>
<
div
>
<
h4
>
在缓存页面插入动态内容--使用substitution控件演示
</
h4
>
<
p
>
Cache Time:
<%
=
DateTime.Now.ToString()
%>
</
p
>
<
p
>
<
b
>
Real Time:
<
asp:Substitution
ID
="Substitution1"
runat
="server"
MethodName
="getCurrentTime"
/>
</
b
>
</
p
>
</
div
>
天轰穿
2006-06-01 11:52
发表评论
文章来源:
http://thcjp.cnblogs.com/archive/2006/06/01/414742.html
只有注册用户
登录
后才能发表评论。
Powered by:
IT博客
Copyright © H_J_H