ControlBuilder.NeedsTagInnerText 方法


确定控件生成器是否需要获取它的内部文本。Determines if the control builder needs to get its inner text. 如果需要,则必须调用 SetTagInnerText(String) 方法。If so, the SetTagInnerText(String) method must be called. 此方法由 ASP.NET 页面框架调用。This method is called by the ASP.NET page framework.

 virtual bool NeedsTagInnerText();
public virtual bool NeedsTagInnerText ();
abstract member NeedsTagInnerText : unit -> bool
override this.NeedsTagInnerText : unit -> bool
Public Overridable Function NeedsTagInnerText () As Boolean


如果控件生成器需要获取它的内部文本,则为 truetrue if the control builder needs to get its inner text. 默认值为 falseThe default is false.


下面的示例使用调用 NeedsTagInnerText 方法时的 InDesigner 属性。The following example uses the InDesigner property when the NeedsTagInnerText method is called. 当控件附加了此生成器时,NeedsTagInnerText 通过设计器确定是否正在设计时访问该控件。When a control has this builder attached to it, the NeedsTagInnerText determines whether the control is being accessed at design-time through a designer. NeedsTagInnerText 返回 InDesigner 属性的值,然后调用 SetTagInnerText 方法。The NeedsTagInnerText returns the value of the InDesigner property, and then the SetTagInnerText method is called. 如果 InDesigner 属性设置为 false,则会引发 ExceptionIf the InDesigner property is set to false, an Exception is thrown. 否则,将在 SetTagInnerText 调用时返回控件的内部文本。Otherwise, the inner text of the control is returned on the SetTagInnerText call.

public sealed class MyControlControlBuilder : ControlBuilder
    private string _innerText;

    public override bool NeedsTagInnerText()
        return InDesigner;

    public override void SetTagInnerText(string text)
        if (!InDesigner)
            throw new Exception("The control is not in design mode.");
            _innerText = text;
<AspNetHostingPermission(SecurityAction.Demand, _
  Level:=AspNetHostingPermissionLevel.Minimal)> _
Public NotInheritable Class MyControlControlBuilder
  Inherits ControlBuilder
    Private _innerText As String
    Overrides Public Function NeedsTagInnerText() As Boolean
      Return InDesigner
    End Function
    Overrides Public Sub SetTagInnerText(ByVal text As String)        
       If InDesigner = False
         Throw New System.Exception("The control is not in design mode.")
         _innerText = text
       End If
    End Sub
End Class


内部文本是控件的开始标记和结束标记之间的文本。The inner text is the text between the opening and closing tags of the control.

此方法由 ASP.NET 页框架在分析期间调用,不应在代码中直接调用。This method is called by the ASP.NET page framework during parsing and is not intended to be called directly in you code.