我正在研究Facebook FBML控件库,并且想创建一些像ASP.NET WebControls库一样的FBML控件。我有一个默认处理渲染的基类;这里是我的渲染方法:渲染ASP.NET中的自定义控件自定义控件派生自控制
protected override void Render(HtmlTextWriter writer)
{
AddAttributesToRender(writer);
if (UseXfbmlSemantics)
{
writer.RenderBeginTag(ElementName);
writer.EndRender();
writer.RenderEndTag();
}
else
{
writer.RenderBeginTag(ElementName);
writer.RenderEndTag();
}
}
我想什么是基于UseXfbmlSemantics修改渲染 - 如果这是真的,它应呈现,例如:
<fb:name uid="10300399458"></fb:name>
当它是假的,它应该用自闭标签渲染:
<fb:name uid="10300399458" />
我可以得到“真实”的条件,几乎正常工作,但自闭标签似乎与Render-集实现方法具不兼容DS。不幸的是,如果是这种情况,那么也意味着AddAttributesToRender模式也不起作用。什么它实际上生产是这样的:
<fb:name uid="10300399458">
</fb:name>
我怎样才能获得的HtmlTextWriter(或HtmlTextWriter的做我需要使用),使其呈现自动关闭标签?或者,至少我怎样才能让它不呈现临时空间(以便开始和结束标记紧挨着)?
为什么?这并不比我的示例代码更紧凑,它也没有真正解决我所问的问题。 – Rob 2011-08-30 05:55:49