IStyleSheet.RegisterStyle(Style, IUrlResolutionService) Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
När den implementeras av en klass lägger du till en ny formatregel i den inbäddade formatmallen <head> i avsnittet på en webbsida.
public:
void RegisterStyle(System::Web::UI::WebControls::Style ^ style, System::Web::UI::IUrlResolutionService ^ urlResolver);
public void RegisterStyle(System.Web.UI.WebControls.Style style, System.Web.UI.IUrlResolutionService urlResolver);
abstract member RegisterStyle : System.Web.UI.WebControls.Style * System.Web.UI.IUrlResolutionService -> unit
Public Sub RegisterStyle (style As Style, urlResolver As IUrlResolutionService)
Parametrar
- style
- Style
Formatregeln som ska läggas till i den inbäddade formatmallen.
- urlResolver
- IUrlResolutionService
Ett IUrlResolutionService-implementerat objekt som innehåller kontextinformation för den aktuella platsen (URL).
Exempel
I följande kodexempel används implementeringen Header av för att demonstrera skapandet av IStyleSheet ett anpassat Style objekt, labelStyle, och sedan registrera det för den aktuella platsen (URL).
label1 Sedan anropar MergeStyle etiketten metoden så att labelStyle formatet tillämpas på label1 etiketten.
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
void Page_Load(object sender, EventArgs e)
{
if (Page.Header != null)
{
// Create a Style object to hold style rules to apply to a Label control.
Style labelStyle = new Style();
labelStyle.ForeColor = System.Drawing.Color.DarkRed;
labelStyle.BorderColor = System.Drawing.Color.DarkBlue;
labelStyle.BorderWidth = 2;
// Register the Style object so that it can be merged with
// the Style object of the controls that use it.
Page.Header.StyleSheet.RegisterStyle(labelStyle, null);
// Merge the labelCssStyle style with the label1 control's
// style settings.
label1.MergeStyle(labelStyle);
label1.Text = "This is what the labelCssStyle looks like.";
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="head1" runat="server">
<title>IStyleSheet Example</title>
</head>
<body>
<form id="form1" runat="server">
<h1>IStyleSheet Example</h1>
<asp:Label
id="label1"
runat="server">
</asp:Label>
</form>
</body>
</html>
<%@ page language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
If Not Page.Header Is Nothing Then
' Create a Style object to hold style rules to apply to a Label control.
Dim labelStyle As Style = New Style()
labelStyle.ForeColor = System.Drawing.Color.DarkRed
labelStyle.BorderColor = System.Drawing.Color.DarkBlue
labelStyle.BorderWidth = 2
' Register the Style object so that it can be merged with
' the Style object of the controls that use it.
Page.Header.StyleSheet.RegisterStyle(labelStyle, Nothing)
' Merge the labelCssStyle style with the label1 control's
' style settings.
label1.MergeStyle(labelStyle)
label1.Text = "This is what the labelCssStyle looks like."
End If
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="head1" runat="server">
<title>IStyleSheet Example</title>
</head>
<body>
<form id="form1" runat="server">
<h1>IStyleSheet Example</h1>
<asp:Label
id="label1"
runat="server">
</asp:Label>
</form>
</body>
</html>
Kommentarer
Den här metoden lägger till en ny formatregel och RegisteredCssClass egenskapsnamn i den inbäddade formatmallen <head> i avsnittet i ett Page objekt och associerar regeln med ett automatiskt genererat formatmallsnamn. Objektet Style återges med den angivna urlResolver parametern.
Om urlResolver är inställt på nullanvänds url:en för den aktuella Page .
Om ett Style objekt redan är registrerat läggs det inte till flera gånger.
Note
Det går inte att lägga till eller ändra formatmallar programmatiskt under asynkrona postbacks. När du lägger till AJAX-funktioner på en ASP.NET webbsida uppdaterar asynkrona postbacks sidans regioner utan att uppdatera hela sidan. Mer information finns i Microsoft Ajax-översikt.