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

作者:袖梨 2022-06-25

此方法被定义为静态方法(在 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() %>



<%@ OutputCache Duration="10" VaryByParam="none" %>
<%=DateTime.Now.ToString() %>

我自己的一个应用实例

index.aspx文件

 代码如下 复制代码


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



Substitution控件实例


Substitution控件实例演示


您好



当前时间[非缓存]:




缓存: <%=DateTime.Now.ToLongTimeString() %>



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();
}
}

相关文章

精彩推荐