BasePartialCachingControl.CachePolicy Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
ControlCachePolicy Získá objekt, který je přidružen k zabaleného uživatelského ovládacího prvku.
public:
property System::Web::UI::ControlCachePolicy ^ CachePolicy { System::Web::UI::ControlCachePolicy ^ get(); };
public System.Web.UI.ControlCachePolicy CachePolicy { get; }
member this.CachePolicy : System.Web.UI.ControlCachePolicy
Public ReadOnly Property CachePolicy As ControlCachePolicy
Hodnota vlastnosti
A ControlCachePolicy , který ukládá výstupní vlastnosti související s ukládáním do mezipaměti zabaleného uživatelského ovládacího prvku.
Příklady
Následující příklad kódu ukazuje, jak lze uživatelský ovládací prvek dynamicky načítat a manipulovat programově za běhu. Tento příklad má tři části:
Částečná třída,
LogOnControl
která dědí ze UserControl základní třídy a na kterou PartialCachingAttribute je atribut použit.Uživatelský ovládací prvek, který se používá s částečnou
LogOnControl
třídou.Stránka Web Forms, která je hostitelem uživatelského ovládacího prvku.
Pokud chcete tento příklad spustit úspěšně, ujistěte se, že soubor uživatelského ovládacího prvku (.ascx), jeho soubor s kódem (.cs nebo .vb) a Web Forms stránka, která je hostitelem uživatelského ovládacího prvku (.aspx) ve stejném adresáři.
První část příkladu ukazuje, jak PartialCachingAttribute je použit na uživatelský ovládací prvek s názvem LogOnControl
, což znamená, že uživatelský ovládací prvek je zabalen ovládací prvek PartialCachingControl za běhu. LogOnControl
Nastavení ukládání do mezipaměti objektu lze programově manipulovat prostřednictvím přidruženého ControlCachePolicy objektu, který je k dispozici prostřednictvím odkazu na zalamování objektuPartialCachingControl. V tomto příkladu se při inicializaci stránky prověří nastavení ukládání do mezipaměti a v případě splnění některých podmínek se změní.
using System;
using System.Web.UI;
using System.Web.UI.WebControls;
[PartialCaching(100)]
public class LogOnControl:UserControl
{
public TextBox user;
public TextBox password;
}
Imports System.Web.UI
Imports System.Web.UI.WebControls
<PartialCaching(100)> _
Public Class LogOnControl
Inherits UserControl
Public user As TextBox
Public password As TextBox
End Class
Druhá část příkladu ukazuje uživatelský ovládací prvek, který se používá s předchozím příkladem k předvedení ukládání uživatelských ovládacích prvků do mezipaměti.
<%@ control inherits = "LogOnControl" src = "LogOnControl.cs" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title>ASP.NET Example</title>
</head>
<body>
<form id="Form1" runat="server">
<table style="font: 10pt verdana;border-width:1;border-style:solid;border-color:black;" cellspacing="15">
<tr>
<td><b>Login: </b></td>
<td><asp:TextBox id="user" runat="server"/></td>
</tr>
<tr>
<td><b>Password: </b></td>
<td><asp:TextBox id="password" TextMode="Password" runat="server"/></td>
</tr>
<tr>
</tr>
</table>
</form>
</body>
</html>
<%@ control inherits = "LogOnControl" src = "LogOnControl.vb" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title>ASP.NET Example</title>
</head>
<body>
<form id="Form1" runat="server">
<table style="font: 10pt verdana;border-width:1;border-style:solid;border-color:black;" cellspacing="15">
<tr>
<td><b>Login: </b></td>
<td><ASP:TextBox id="user" runat="server"/></td>
</tr>
<tr>
<td><b>Password: </b></td>
<td><ASP:TextBox id="password" TextMode="Password" runat="server"/></td>
</tr>
<tr>
</tr>
</table>
</form>
</body>
</html>
Třetí část příkladu ukazuje použití LogOnControl
uživatelského ovládacího prvku ze Web Forms stránky.
<%@ Page Language="C#" Debug = "true"%>
<%@ Reference Control="Logonformcs.ascx" %>
<script language="C#" runat="server">
// The following example demonstrates how to load a user control dynamically at run time, and
// work with the ControlCachePolicy object associated with it.
// Loads and displays a UserControl defined in a seperate Logonform.ascx file.
// You need to have "Logonform.ascx" and "LogOnControl.cs" file in
// the same directory as the aspx file.
void Page_Init(object sender, System.EventArgs e) {
// Obtain a PartialCachingControl object which wraps the 'LogOnControl' user control.
PartialCachingControl pcc = LoadControl("Logonform.cs.ascx") as PartialCachingControl;
ControlCachePolicy cacheSettings = pcc.CachePolicy;
// If the control is slated to expire in greater than 60 Seconds
if (cacheSettings.Duration > TimeSpan.FromSeconds(60) ) {
// Make it expire faster. Set a new expiration time to 30 seconds, and make it
// an absolute expiration if it isnt already.
cacheSettings.SetExpires(DateTime.Now.Add(TimeSpan.FromSeconds(30)));
cacheSettings.SetSlidingExpiration(false);
}
Controls.Add(pcc);
}
</script>
<%@ Page Language="VB" Debug = "true"%>
<%@ Reference Control="Logonformvb.ascx" %>
<script language="VB" runat="server">
' The following example demonstrates how to load a user control dynamically at run time, and
' work with the ControlCachePolicy object associated with it.
' Loads and displays a UserControl defined in a seperate Logonform.ascx file.
' You need to have "Logonform.ascx" and "LogOnControl.vb" file in
' the same directory as the aspx file.
Sub Page_Init(ByVal Sender As Object, ByVal e As EventArgs)
' Obtain a PartialCachingControl object which wraps the 'LogOnControl' user control.
Dim pcc As PartialCachingControl
pcc = CType(LoadControl("Logonform.vb.ascx"), PartialCachingControl)
Dim cacheSettings As ControlCachePolicy
cacheSettings = pcc.CachePolicy
' If the control is slated to expire in greater than 60 Seconds
If (cacheSettings.Duration > TimeSpan.FromSeconds(60)) Then
' Make it expire faster. Set a new expiration time to 30 seconds, and make it
' an absolute expiration if it isnt already.
cacheSettings.SetExpires(DateTime.Now.Add(TimeSpan.FromSeconds(30)))
cacheSettings.SetSlidingExpiration(False)
End If
Controls.Add(pcc)
End Sub ' Page_Init
</script>
Poznámky
Vlastnost CachePolicy umožňuje programový přístup k objektu ControlCachePolicy přidruženému k uživatelskému ovládacímu prvku obsaženému instancí BasePartialCachingControl . Objekt ControlCachePolicy lze programově manipulovat, aby ovlivnil chování a nastavení ukládání do mezipaměti uživatelského ovládacího prvku.