HtmlTextArea.AddParsedSubObject(Object) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
通知 HtmlTextArea 控件某个对象已分析并将该对象添加到 HtmlTextArea 控件的 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 或 DataBoundLiteralControl 类型。
示例
下面的代码示例演示如何重写 AddParsedSubObject 自定义 HtmlTextArea 服务器控件中的方法,以便始终确定分析的对象是否为类型 LiteralControl 或 DataBoundLiteralControl。
<%@ 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">
<script runat="server">
void Page_Load(Object sender, EventArgs e)
{
HtmlTextArea1.Value = "Hello Html Text Area World.";
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Custom HtmlTextArea AddParsedSubObject Example</title>
</head>
<body>
<form id="Form1"
method="post"
runat="server">
<h3>Custom HtmlTextArea AddParsedSubObject Example</h3>
<aspSample:CustomHtmlTextAreaAddParsedSubObject
id="HtmlTextArea1"
name="HtmlTextArea1"
runat="server"
rows="4"
cols="50"/>
</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">
<script runat="server">
Sub Page_Load(sender As Object, e As EventArgs)
HtmlTextArea1.Value = "Hello Html Text Area World."
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Custom HtmlTextArea AddParsedSubObject Example</title>
</head>
<body>
<form id="Form1"
method="post"
runat="server">
<h3>Custom HtmlTextArea AddParsedSubObject Example</h3>
<aspSample:CustomHtmlTextAreaAddParsedSubObject
id="HtmlTextArea1"
name="HtmlTextArea1"
runat="server"
rows="4"
cols="50" />
</form>
</body>
</html>
using System.Web;
using System.Security.Permissions;
namespace Samples.AspNet.CS.Controls
{
[AspNetHostingPermission(SecurityAction.Demand, Level=AspNetHostingPermissionLevel.Minimal)]
public sealed class CustomHtmlTextAreaAddParsedSubObject : System.Web.UI.HtmlControls.HtmlTextArea
{
protected override void AddParsedSubObject(object obj)
{
// If the object is a LiteralControl or a DataBoundLiteralControl control,
// then pass the object to the base class's AddParsedSubObject method.
if (obj is System.Web.UI.LiteralControl ||
obj is System.Web.UI.DataBoundLiteralControl)
{
base.AddParsedSubObject(obj);
}
else
{
throw new System.Web.HttpException("You cannot have a child control of type "
+ obj.GetType().Name.ToString() + ".");
}
}
}
}
Imports System.Web
Imports System.Security.Permissions
Namespace Samples.AspNet.VB.Controls
Public NotInheritable Class CustomHtmlTextAreaAddParsedSubObject
Inherits System.Web.UI.HtmlControls.HtmlTextArea
<AspNetHostingPermission(SecurityAction.Demand, Level:=AspNetHostingPermissionLevel.Minimal)> _
Protected Overrides Sub AddParsedSubObject(ByVal obj As Object)
' If the object is a LiteralControl or a DataBoundLiteralControl control,
' then pass the object to the base class's AddParsedSubObject method.
If TypeOf obj Is System.Web.UI.LiteralControl OrElse TypeOf obj Is System.Web.UI.DataBoundLiteralControl Then
MyBase.AddParsedSubObject(obj)
Else
Throw New System.Web.HttpException("You cannot have a child control of type " _
& obj.GetType().Name.ToString() & ".")
End If
End Sub
End Class
End Namespace
注解
如果对象为类型,则该方法AddParsedSubObject将对象添加到HtmlTextArea控件中ControlCollection;否则将引发一个HttpException对象。DataBoundLiteralControlLiteralControl
该方法 AddParsedSubObject 主要用于控件开发人员扩展控件的功能 HtmlTextArea 。