以用户控件进行asp.net网页的部分缓存

本文介绍如何在ASP.NET中使用用户控件缓存功能,包括通过代码实现10秒缓存的用户控件,并利用Substitution控件和AdRotator控件自动更新缓存数据。
建立一个用户控件 myEmployees.ascx ,
在myEmployees.ascx.cs中, 加入网页10秒缓存
ContractedBlock.gifExpandedBlockStart.gifCode
[PartialCaching(10)]
public partial class UserControls_myEmployees : System.Web.UI.UserControl
{
    
protected void Page_Load(object sender, EventArgs e)
    {
        txtTime.Text 
= "用户控件时间:" + DateTime.Now.ToLongTimeString();
    }
}
设置Page每秒画面更新
在使用myEmployees.ascx 空间的页面上加上
    <meta http-equiv="refresh" content="1;URL=UserControlCaching.aspx" />
UserControlCaching.aspx 是使用用户控件的页面
ContractedBlock.gifExpandedBlockStart.gifCode
<head runat="server">
    
<title>未命名页面</title>
    
<meta http-equiv="refresh" content="1;URL=UserControlCaching.aspx" />
</head>
<body>
    
<form id="form1" runat="server">
    
<div>
        
<uc1:myEmployees ID="MyEmployees1" runat="server" />
    
</div>
    
</form>
</body>
</html>

另外 使用 Substitution 控件也可以自动根据 outputcache缓存设置来 缓存数据,GetTime是服务器方法。
   <asp:Substitution ID="Substitution1" runat="server" MethodName="GetTime" />
Substitution 控件也可以再后台动态加入
前台:
 <td style="width: 291px">
                
<asp:PlaceHolder ID="PlaceHolder1" runat="server"></asp:PlaceHolder>
            
</td>
后台:
ContractedBlock.gifExpandedBlockStart.gifCode
 protected void Page_Load(object sender, EventArgs e)
    {
        txtTime.Text 
= DateTime.Now.ToLongTimeString();
        
//创建Substitution控件实体
        Substitution Substitution1 = new Substitution();
        
//指定Substitution控件的Callback方法名称
        Substitution1.MethodName = "GetTime";
        
//将Substitution控件加入PlaceHolder控件中之中
        PlaceHolder1.Controls.Add(Substitution1);   
    }

    
//返回时间的静态方法
    public static string GetTime(HttpContext context)
    {
        
return DateTime.Now.ToLongTimeString();
    }

广告控件 AdRotator 可以根据outputcache缓存设置来更换广告内容
ContractedBlock.gifExpandedBlockStart.gifCode
<Advertisements xmlns="http://schemas.microsoft.com/AspNet/AdRotator-Schedule-File">
    
<Ad>
        
<ImageUrl>~/images/PC.jpg</ImageUrl>
        
<NavigateUrl>http://www.tomshardware.com</NavigateUrl>
        <AlternateText>个人电脑课程</AlternateText>
        
<Impressions>100</Impressions>
    
</Ad>
    
<Ad>
        
<ImageUrl>~/images/Server.jpg</ImageUrl>
        
<NavigateUrl>http://www.microsoft.com</NavigateUrl>
        <AlternateText>服务器电脑课程</AlternateText>
        
<Impressions>50</Impressions>
    
</Ad>
    
<Ad>
        
<ImageUrl>~/images/Mouse.jpg</ImageUrl>
        
<NavigateUrl>http://www.adobe.com</NavigateUrl>
        <AlternateText>美工设计课程</AlternateText>
        
<Impressions>50</Impressions>
    
</Ad>
</Advertisements>

页面上:
 <asp:AdRotator ID="AdRotator1" runat="server" AdvertisementFile="~/App_Data/Advertisements.xml" />

转载于:https://www.cnblogs.com/samuelwang/archive/2009/10/06/1578432.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值