LinkButton.AddParsedSubObject Method
.NET Framework 3.0
Notifies the control that an element, either XML or HTML, was parsed, and adds the element to the control's ControlCollection object.
Namespace: System.Web.UI.WebControls
Assembly: System.Web (in system.web.dll)
Assembly: System.Web (in system.web.dll)
The following code example demonstrates how to override the AddParsedSubObject method in a custom LinkButton server control so that it either sets the text property to the parsed object's text property, if the parsed object is a Literal object, or to an empty string otherwise.
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.JSL.Controls" Assembly="Samples.AspNet.JSL" %>
<%@ Page Language="VJ#" 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 LinkButton - AddParsedSubObject - VJ# Example</title>
<script runat="server">
void LinkButton1_Command(Object sender, CommandEventArgs e)
{
// Redirect to the Microsoft home page.
get_Response().Redirect("http://www.microsoft.com/");
} //LinkButton1_Command
</script>
</head>
<body>
<form id="Form1" method="post" runat="server">
<h3>Custom LinkButton - AddParsedSubObject - VJ# Example</h3>
<aspSample:CustomLinkButtonAddParsedSubObject
id="LinkButton1"
runat="server"
OnCommand="LinkButton1_Command"
ToolTip="Microsoft Home">Microsoft Corp.
</aspSample:CustomLinkButtonAddParsedSubObject>
</form>
</body>
</html>
...
package Samples.AspNet.JSL.Controls;
public class CustomLinkButtonAddParsedSubObject
extends System.Web.UI.WebControls.LinkButton
{
protected 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.
super.AddParsedSubObject(obj);
}
// Else the server control doesn't contain any child controls.
else {
// If the parsed element is a LiteralControl.
if (obj instanceof System.Web.UI.LiteralControl) {
// Set the server control's Text property to the parsed
// element's Text value.
this.set_Text(((System.Web.UI.LiteralControl)obj).get_Text());
}
// Else the parsed element is not a LiteralControl.
else {
// If the server control has a value in the the Text property.
String currentText = this.get_Text();
if (currentText.get_Length() != 0) {
// Set the server control's Text property to an
// empty string.
this.set_Text("");
// Notify the base server control that a new
// LiteralControl was parsed, and adds the element to
// the server control's ControlCollection object.
super.AddParsedSubObject(new System.Web.UI.
LiteralControl(currentText));
}
super.AddParsedSubObject(obj);
}
}
} //AddParsedSubObject
} //CustomLinkButtonAddParsedSubObject
Community Additions
ADD
Show: