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方法會將物件加入LiteralControl控制DataBoundLiteralControl項;否則會拋出 an HttpException 。
此 AddParsedSubObject 方法主要由控制開發者使用,以擴展控制功能 HtmlTextArea 。