strip span tag from text-only templates

S

Samuel

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
with the templates within my own control.
 
W

Walter Wang [MSFT]

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 ([email protected], 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.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,763
Messages
2,569,563
Members
45,039
Latest member
CasimiraVa

Latest Threads

Top