bool CloseControl (string tagid)
{
ControlBuilder current = stack.Builder;
string btag = current.OriginalTagName;
if (String.Compare (btag, "tbody", true, Helpers.InvariantCulture) != 0 &&
String.Compare (tagid, "tbody", true, Helpers.InvariantCulture) == 0) {
if (!current.ChildrenAsProperties) {
try {
TextParsed (location, location.PlainText);
FlushText ();
} catch {}
}
return true;
}
if (current.ControlType == typeof (HtmlTable) && String.Compare (tagid, "thead", true, Helpers.InvariantCulture) == 0)
return true;
if (0 != String.Compare (tagid, btag, true, Helpers.InvariantCulture))
return false;
// if (current is TemplateBuilder)
// pop from the id list
if (current.NeedsTagInnerText ()) {
try {
current.SetTagInnerText (tagInnerText.ToString ());
} catch (Exception e) {
throw new ParseException (current.Location, e.Message, e);
}
tagInnerText.Length = 0;
}
if (typeof (HtmlForm).IsAssignableFrom (current.ControlType)) {
inForm = false;
}
current.CloseControl ();
stack.Pop ();
stack.Builder.AppendSubBuilder (current);
return true;
}