//
// (C) Bob Smith
// (c) 2002 Ximian, Inc. (http://www.ximian.com)
-// Copyright (C) 2005 Novell, Inc (http://www.novell.com)
+// Copyright (C) 2005-2010 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// CAS
[AspNetHostingPermission (SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermission (SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)]
- public abstract class HtmlContainerControl : HtmlControl {
-
-#if NET_2_0
- protected
-#else
- public
-#endif
- HtmlContainerControl () : this ("span") {}
+ public abstract class HtmlContainerControl : HtmlControl
+ {
+ protected HtmlContainerControl () : this ("span")
+ {}
- public HtmlContainerControl (string tag) : base(tag) {}
+ public HtmlContainerControl (string tag) : base(tag)
+ {}
[HtmlControlPersistable (false)]
[BrowsableAttribute(false)]
get {
if (Controls.Count == 0)
return String.Empty;
-
- bool is_literal = true;
- StringBuilder text = new StringBuilder ();
- foreach (Control ctrl in Controls) {
+
+ if (Controls.Count == 1) {
+ Control ctrl = Controls [0];
LiteralControl lc = ctrl as LiteralControl;
- if (lc == null) {
- is_literal = false;
- break;
- }
- text.Append (lc.Text);
- }
-
- if (!is_literal)
- throw new HttpException ("There is no literal content!");
+ if (lc != null)
+ return lc.Text;
- return text.ToString ();
+ DataBoundLiteralControl dblc = ctrl as DataBoundLiteralControl;
+ if (dblc != null)
+ return dblc.Text;
+ }
+
+ throw new HttpException ("There is no literal content!");
}
set {
}
}
-#if NET_2_0
- protected internal
-#else
- protected
-#endif
- override void Render (HtmlTextWriter writer)
+ protected internal override void Render (HtmlTextWriter writer)
{
RenderBeginTag (writer);
RenderChildren (writer);