.net中Substitution缓存整个页面的局部动态(局部刷新不缓存)

此方法被定义为静态方法(在 Visual Basic 中为共享方法)。
此方法接受 HttpContext 类型的参数。
此方法返回 String 类型的值。
注意,Substitution 控件无法访问页上的其他控件,也就是说,您无法检查或更改其他控件的值。但是,代码确实可以使用传递给它的参数来访问当前页上下文。

在页运行时,Substitution 控件会调用该方法,然后用从该方法的返回值替换页上的 Substitution 控件

示例:
 

 代码如下 复制代码
Response.Cache.SetExpires(DateTime.Now.AddSeconds(5));
Response.Cache.SetCacheability(HttpCacheability.Public);
Response.Cache.SetValidUntilExpires(true);
 
static string getTime(HttpContext context)
    {
        return DateTime.Now.ToString();
    }
<%=DateTime.Now.ToString() %><br />
<asp:Substitution ID="Substitution1" runat="server" MethodName="getTime" />

<%@ OutputCache Duration="10" VaryByParam="none" %>
<%=DateTime.Now.ToString() %><br />
<asp:Substitution ID="Substitution1" runat="server" MethodName="getTime" />

我自己的一个应用实例

index.aspx文件

 代码如下 复制代码

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<%@ outputcache duration="10" varybyparam="none" %>

<!--设置缓存时间为10秒-->

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html>
<head id="Head1" runat="server">
<title>Substitution控件实例</title>
</head>
<body>
<form id="Form1" runat="server">

<h1>Substitution控件实例演示</h1>
您好<b>
<asp:substitution id="m1" methodname="GetUser" runat="Server">
</asp:substitution></b><br>
当前时间[非缓存]:

<b><asp:Substitution ID="m2" runat="server" MethodName="GetTime" /></b>
<br />
缓存: <%=DateTime.Now.ToLongTimeString() %>
<asp:Button ID="Button1" runat="server" Text="刷新" />
</form>
</body>
</html>

index.aspx.cs文件

 代码如下 复制代码

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;

public partial class _Default : System.Web.UI.Page
{

//下面定义了两个表态方法,可以使用Substitution控件调用,以实现这两个方法每次刷新时都要调用

public static string GetUser(HttpContext context)
{
return context.User.Identity.Name;
}
public static String GetTime(HttpContext context)
{
return DateTime.Now.ToString();
}
}

时间: 2024-07-29 00:28:48

.net中Substitution缓存整个页面的局部动态(局部刷新不缓存)的相关文章

Windows7刷新DNS缓存失败的处理方法

  有些用户在windows7系统刷新DNS缓存的时候遇到失败问题,怎么办?在更改Win7系统DNS地址后,为了使新的DNS快速生效,我们需要刷新DNS缓存,不过有部分用户在使用ipconfig/flushdns命令刷新的时候遇到了失败,针对此问题,下面小编研究整理出Windows7刷新DNS缓存失败的处理方法. 操作步骤如下: 1.点击右下角的网络连接,选择状态查看当前的网络连接是否正常; 2.如果网络连接正常,按Win+R键,打开运行,输入"Services.msc",回车; 3.

ASP.NET中清除缓存(禁止页面缓存)

在asp.net中使用模式dialog时,你会发现每次打开的页面都是相同的内容,页面内容并没有刷新,这是缓存的原因造成的, 解决方法如下: 第一种是ASP.NET清除页面缓存  代码如下 复制代码 Response.Buffer = true; Response.ExpiresAbsolute = System.DateTime.Now.AddSeconds(-1); Response.Expires = 0; Response.CacheControl = "no-cache"; R

cookie-【js】如何在不刷新页面的基础上局部更新html文档?

问题描述 [js]如何在不刷新页面的基础上局部更新html文档? 提问环境:写了一个字典,判断cookies的值是中文还是英文,然后读取相应数组得到页面,但现在要在页面内部加按钮以达到随时切换语言的目的,如果让页面刷新,会丢失之前的页面状态,比如表单数据,所以需要一种方法,不刷新页面,只让页面组件从js数组中更新即可,求大神指导!! 解决方案 ajax异步提交方式,可以实现你的需要. 参考:http://www.w3school.com.cn/ajax/index.asp

Android缓存html5页面视频

问题描述 Android缓存html5页面视频 android weibview 如何缓存html5页面中的视频,并使用呢 解决方案 http://www.cnblogs.com/snake-hand/archive/2013/06/12/3133043.html 解决方案二: 把视频文件写入手机内存或sd卡,用的时候在加载调用

禁用aspx页面的客户端缓存(防止页面被修改)_实用技巧

默认情况下,IE打开一个网页,会在本地进行缓存,这样是为了减少访问服务器的次数提高性能.但有时这也给我们带来了弊端,比如修改信息的页面,在提交修 改后,再次打开次页面,因为URL并没有改变,因此IE会读取本地缓存,页面显示的仍然是原始信息,这种情况特别容易出现在弹出对话框或窗口进行修改的方 式. 在ASP.NET中可以在页面中加入以下内容: 复制代码 代码如下: <%@ OutputCache Location="None" VaryByParam="None"

在WebSphere ESB中创建一种基于数据库的动态缓存模式

根据已普遍被人们接受的 SOA 架构,SOA http://www.aliyun.com/zixun/aggregation/13748.html">基础架构中的集成层为其他组件提供了无状态服务.所以在任何 SOA 实现中,数据会流经后端与前端系统之间的集成层.依据这一方案,许多请求会反复访问相同的信息.因此,将数据缓存在集成层中是一种限制资源消耗和改善响应时间的有效方式. 在一个最新的项目中,作者面临着扩展简单的缓存模式的需求.集成层提供了服务,使一个基于门户的前端可支持用户使用滚动.过

在Flex中嵌入完整HTML页面

页面 有时候我们需要在Flex应用中嵌入HTML代码,根据嵌入HTML要求的不同有以下两种方法: 1.Flex文本组件(Label.Text.TextArea)的htmlText属性支持一些基本的HTML代码,例如: <mx:TextArea>   <mx:htmlText>     <![CDATA[       <p align="center"><font size="15" color="#3399f

flex中通过上拉页面显示datagrid

flex:3.0 本篇blog参考:http://blog.minidx.com/2008/08/02/1208.html.http://blog.minidx.com/2008/10/04/1473.html 写这篇博客主要是因为这两天做的东西涉及到了flex中的visible和includeinlayer属性,通过这两个属性可以重新布局页面,达到动态布局的效果,但是自己在做的时候,设置这两个属性的时候老是有问题,可能是和其他东西冲突吧,不过写了一个简单的进行测试,就很容易通过了.下面给出代码

如何在Silverlight应用程序中获取ASP.NET页面参数

概述 在开发Silverlight应用程序时,我们经常会遇到这样一种情况,需要在Silverlight应用程序的 UserControl中获取ASP.NET页面参数,这个参数不一定来自于当前Silverlight应用程序的宿主页面,而 有可能来自于其它的ASP.NET页面. 需求 如下面的项目结构,我们会在Default.aspx页面中需要传递两个值到SilverlightTestPage.aspx页面 ,并且需要在SilverlightTestPage.aspx页面所宿主的Silverligh

web平台动态页面自动生成静态网页中包含的外部页面的四种办法

开发web平台时,很多程序员都注重自己的网页访问速度快(当然这些快的原因还有服务器配置.接入 带宽等),现在来谈谈程序编写这块,因为静态页面访问速度比动态的快,所以我们就是想如何把自己动 态的页面变成静态页面.比如www.bianceng.cn 各栏目读取内容页面就是静态页面. 下面就举四种办法来说说静态页面中如何包含外部页面: 一.应用框架技术 在生成静态页面后要在宿主页面中嵌入外部读取数据库页面的方法是,在宿主页面中包含外部页面的 位置插入"<IFRAME name="XXX