all groups > asp.net building controls > january 2007 >
You're in the

asp.net building controls

group:

strip span tag from text-only templates


strip span tag from text-only templates Samuel
1/16/2007 10:59:00 PM
asp.net building controls:
Hi,

I am building a control that renders as a table, and I created two templates
for my users to "wrap" the table with whatever HTML tags they want. Like this

<topWrapperTemplate></topWrapperTemplate>
<table>.....</table>
<bottomWrapperTemplate></bottomWrapperTemplate>

whatever goes into the two wrapper templates should be rendered literally
without <span> tags. So if a user put <div class="hot"> in
topWrapperTemplate, and </div> in bottomWrapperTemplate, the result should
look like

<div class="hot">
<table>...</table>
</div>

not this:

<span><div class="hot"></span>
<table>...</table>
<span></div></span>

What should I do? I know how not to render the <span> tag around the whole
control by overriding the render sub, but I have no idea how to do the same
RE: strip span tag from text-only templates wawang NO[at]SPAM online.microsoft.com
1/17/2007 9:13:34 AM
Hi,

Is your template container inheriting from WebControl?

Try to inherit from Control and the span tag will not be generated:

namespace myns
{
public class Class1TemplateContainer : WebControl, INamingContainer
{
private Class1 _parent;

public Class1TemplateContainer(Class1 parent)
{
_parent = parent;
}

public Class1 Class1
{
get { return _parent; }
}


protected override HtmlTextWriterTag TagKey
{
get
{
return base.TagKey;
}
}
}


[ParseChildren(ChildrenAsProperties = true), PersistChildren(false)]
public class Class1 : Control, INamingContainer
{
private ITemplate _headerTemplate;

[DefaultValue(null),
TemplateContainer(typeof(Class1TemplateContainer)),
PersistenceMode(PersistenceMode.InnerProperty)]
public virtual ITemplate HeaderTemplate
{
get { return this._headerTemplate; }
set { this._headerTemplate = value; }
}

private ITemplate _footerTemplate;

[DefaultValue(null),
TemplateContainer(typeof(Class1TemplateContainer)),
PersistenceMode(PersistenceMode.InnerProperty)]
public virtual ITemplate FooterTemplate
{
get { return _footerTemplate; }
set { _footerTemplate = value; }
}

private Class1TemplateContainer _headerTemplateContainer;
private Class1TemplateContainer _footerTemplateContainer;

protected override void CreateChildControls()
{
if (HeaderTemplate != null)
{
_headerTemplateContainer = new
Class1TemplateContainer(this);
HeaderTemplate.InstantiateIn(_headerTemplateContainer);
Controls.Add(_headerTemplateContainer);
}

if (FooterTemplate != null)
{
_footerTemplateContainer = new
Class1TemplateContainer(this);
FooterTemplate.InstantiateIn(_footerTemplateContainer);
Controls.Add(_footerTemplateContainer);
}
}
}
}





Sincerely,
Walter Wang (wawang@online.microsoft.com, remove 'online.')
Microsoft Online Community Support

==================================================
Get notification to my posts through email? Please refer to
http://msdn.microsoft.com/subscriptions/managednewsgroups/default.aspx#notif
ications. If you are using Outlook Express, please make sure you clear the
check box "Tools/Options/Read: Get 300 headers at a time" to see your reply
promptly.

Note: The MSDN Managed Newsgroup support offering is for non-urgent issues
where an initial response from the community or a Microsoft Support
Engineer within 1 business day is acceptable. Please note that each follow
up response may take approximately 2 business days as the support
professional working with you may need further investigation to reach the
most efficient resolution. The offering is not appropriate for situations
that require urgent, real-time or phone-based interactions or complex
project analysis and dump analysis issues. Issues of this nature are best
handled working with a dedicated Microsoft Support Engineer by contacting
Microsoft Customer Support Services (CSS) at
http://msdn.microsoft.com/subscriptions/support/default.aspx.
==================================================

This posting is provided "AS IS" with no warranties, and confers no rights.
AddThis Social Bookmark Button