3. March 2014 10:20
To embed something into user control, but have an error like:
Here's the cure to it, and the thing embedded within the user control will neither show nor complaint an error.
public partial class ProductTile : System.Web.UI.UserControl
The ParseChildrenAttribute class allows you to specify parsing logic for a custom server control by marking the server control with the ParseChildrenAttribute metadata attribute.
Marking your server control with the metadata attribute ParseChildren(true) instructs the parser to interpret the elements that are contained within the server control's tags as properties. In this scenario, the ChildrenAsProperties property is true.
Marking your server control with the metadata attribute ParseChildren(true,"<Default Property>") sets the DefaultProperty property to the name of the property that is passed into the attribute.
Marking your server control with the metadata attribute ParseChildren(false), the default value, instructs the parser to interpret the elements that are contained within the server control's tags as content that will be parsed with an associated ControlBuilder that is, as controls. In this scenario, the ChildrenAsProperties property is false.
The PersistChildrenAttribute is used in combination with the ParseChildrenAttribute to determine how nested content of a control is interpreted. If PersistChildrenAttribute is true and ParseChildrenAttribute is false, the nested content contained within an ASP.NET server control is persisted as controls. If PersistChildrenAttribute is false and ParseChildrenAttribute is true, the nested content is persisted as properties of the server control. For more information about using attributes, see Extending Metadata Using Attributes.