Label.AddParsedSubObject(Object) Metoda
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í.
Upozorní ovládací prvek, že prvek byl analyzován a přidá prvek do Label ovládacího prvku.
protected:
override void AddParsedSubObject(System::Object ^ obj);
protected override void AddParsedSubObject (object obj);
override this.AddParsedSubObject : obj -> unit
Protected Overrides Sub AddParsedSubObject (obj As Object)
Parametry
- obj
- Object
Objekt, který představuje parsovaný prvek.
Příklady
Následující příklad kódu ukazuje, jak přepsat metodu AddParsedSubObject ve vlastním Label serveru ovládací prvek tak, aby vždy nastaví text vlastnost na parsovaný objekt text vlastnost, pokud parsovaný objekt je objekt Literal, a na prázdný řetězec jinak.
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.CS.Controls" Assembly="Samples.AspNet.CS" %>
<%@ Page Language="C#" AutoEventWireup="True" %>
<!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>
<title>Custom Label - AddParsedSubObject - C# Example</title>
</head>
<body>
<form id="Form1" method="post" runat="server">
<h3>Custom Label - AddParsedSubObject - C# Example</h3>
<aspSample:CustomLabelAddParsedSubObject
id="Label1" runat="server"
ToolTip="Microsoft Corp.">Microsoft Corp.</aspSample:CustomLabelAddParsedSubObject>
</form>
</body>
</html>
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.VB.Controls" Assembly="Samples.AspNet.VB" %>
<%@ Page Language="VB" AutoEventWireup="True" %>
<!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>
<title>Custom Label - AddParsedSubObject - VB.NET Example</title>
</head>
<body>
<form id="Form1" method="post" runat="server">
<h3>Custom Label - AddParsedSubObject - VB.NET Example</h3>
<aspSample:CustomLabelAddParsedSubObject id="Label1" runat="server"
ToolTip="Microsoft Corp.">Microsoft Corp.</aspSample:CustomLabelAddParsedSubObject>
</form>
</body>
</html>
using System.Web;
using System.Security.Permissions;
namespace Samples.AspNet.CS.Controls
{
[AspNetHostingPermission(SecurityAction.Demand, Level=AspNetHostingPermissionLevel.Minimal)]
public sealed class CustomLabelAddParsedSubObject : System.Web.UI.WebControls.Label
{
protected override void AddParsedSubObject(object obj)
{
// If the server control contains any child controls.
if (this.HasControls())
{
// Notify the base server control that an element, either XML or HTML,
// was parsed, and adds the element to the server control's
// ControlCollection object.
base.AddParsedSubObject(obj);
}
// Else the server control doesn't contain any child controls.
else
{
// If the parsed element is a LiteralControl.
if (obj is System.Web.UI.LiteralControl)
{
// Set the server control's Text property to the parsed element's Text value.
this.Text = ((System.Web.UI.LiteralControl)obj).Text;
}
// Else the parsed element is not a LiteralControl.
else
{
// If the server control has a value in the Text property.
string currentText = this.Text;
if (currentText.Length != 0)
{
// Set the server control's Text property to an empty string.
this.Text = System.String.Empty;
// Notify the base server control that a new LiteralControl was parsed,
// and adds the element to the server control's ControlCollection object.
base.AddParsedSubObject(new System.Web.UI.LiteralControl(currentText));
}
base.AddParsedSubObject(obj);
}
}
}
}
}
<AspNetHostingPermission(SecurityAction.Demand, Level:=AspNetHostingPermissionLevel.Minimal)> _
Public NotInheritable Class CustomLabelAddParsedSubObject
Inherits System.Web.UI.WebControls.Label
Protected Overrides Sub AddParsedSubObject(ByVal obj As Object)
' If the server control contains any child controls.
If Me.HasControls() Then
' Notify the base server control that an element, either XML or HTML,
' was parsed, and adds the element to the server control's
' ControlCollection object.
MyBase.AddParsedSubObject(obj)
' Else the server control doesn't contain any child controls.
Else
' If the parsed element is a LiteralControl.
If TypeOf obj Is System.Web.UI.LiteralControl Then
' Set the server control's Text property to the parsed element's Text value.
Me.Text = CType(obj, System.Web.UI.LiteralControl).Text
' Else the parsed element is not a LiteralControl.
Else
' If the server control has a value in the Text property.
Dim currentText As String = Me.Text
If currentText.Length <> 0 Then
' Set the server control's Text property to an empty string.
Me.Text = System.String.Empty
' Notify the base server control that a new LiteralControl was parsed,
' and adds the element to the server control's ControlCollection object.
MyBase.AddParsedSubObject(New System.Web.UI.LiteralControl(currentText))
End If
MyBase.AddParsedSubObject(obj)
End If
End If
End Sub
End Class
Poznámky
Tato AddParsedSubObject metoda se používá primárně pro vývojáře při odvození vlastního ovládacího prvku z Label třídy.
Pokud je vstupní objekt a LiteralControlLabel ovládací prvek nemá žádné podřízené ovládací prvky, vstupní objekt se používá k nastavení Text vlastnosti Label ovládacího prvku. Jinak je AddParsedSubObject volána metoda základní Control třídy a zadaný objekt je přidán do Controls kolekce.