Literal.AddParsedSubObject(Object) 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
XML 또는 HTML 요소가 구문 분석되었음을 Literal 컨트롤에 알리고 컨트롤의 ControlCollection에 해당 요소를 추가합니다.
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)
매개 변수
예외
obj
이 LiteralControl 형식이 아닌 경우
예제
다음 코드 예제에서는 항상 구문 분석 된 개체의 속성에 속성을 설정 Text 되도록 사용자 지정 서버 컨트롤에서 메서드를 재정 AddParsedSubObject 의 Text
하는 방법을 보여 줍니다., 구문 분석 된 개체는 Literal그렇지 않으면 빈 string
합니다.
<%@ 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 LiteralControl - AddParsedSubObject - C# Example</title>
<script runat="server">
void Button1_Click(Object sender, EventArgs e)
{
Literal1.Text = "Welcome to ASP.NET!";
}
</script>
</head>
<body>
<form id="Form1" method="post" runat="server">
<h3>Custom LiteralControl - AddParsedSubObject - C# Example</h3>
<aspSample:CustomLiteralAddParsedSubObject
id="Literal1"
runat="server"
text="Literal Text" />
<br /><br />
<asp:Button
id="Button1"
Text="Change"
OnClick="Button1_Click"
runat="server"/>
</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 LiteralControl - AddParsedSubObject - VB.Net Example</title>
<script runat="server">
Sub Button1_Click(sender As Object, e As EventArgs)
Literal1.Text = "Welcome to ASP.NET!"
End Sub
</script>
</head>
<body>
<form id="Form1" method="post" runat="server">
<h3>Custom LiteralControl - AddParsedSubObject - VB.Net Example</h3>
<aspSample:CustomLiteralAddParsedSubObject id="Literal1"
runat="server" text="Literal Text" />
<br /><br />
<asp:Button id="Button1"
Text="Change"
OnClick="Button1_Click"
runat="server"/>
</form>
</body>
</html>
using System.Web;
using System.Security.Permissions;
namespace Samples.AspNet.CS.Controls
{
[AspNetHostingPermission(SecurityAction.Demand, Level = AspNetHostingPermissionLevel.Minimal)]
public sealed class CustomLiteralAddParsedSubObject : System.Web.UI.LiteralControl
{
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 CustomLiteralAddParsedSubObject
Inherits System.Web.UI.WebControls.Literal
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