我正在为非标准浏览器(Polycom Microbrowser)生成XHTML。我想使用XhtmlTextWriter,但它忽略了表上的border属性。这通常是正确的事情,因为你应该使用CSS来设置边框。唉,Polycom不支持CSS。
所以当我渲染开始和结束表标签时,我需要使用HtmlTextWriter.WriteBeginTag / WriteEndTag而不是HtmlTextWriter.RenderBeginTag / RenderEndTag。
protected void RenderTableBegin(HtmlTextWriter writer)
{
//writer.AddAttribute(HtmlTextWriterAttribute.Border, "0");
//writer.RenderBeginTag(HtmlTextWriterTag.Table);
writer.WriteBeginTag("table");
writer.WriteAttribute("border", "0");
writer.Write(HtmlTextWriter.TagRightChar);
}
protected void RenderTableEnd(HtmlTextWriter writer)
{
writer.WriteEndTag("table");
//writer.RenderEndTag();
}
我的代码中的其他地方,我正在使用HtmlTextWriter.RenderBeginTag / RenderEngTag。混合这些是否有任何已知问题?我可以,只要我使用匹配的电话吗?
答案 0 :(得分:0)
我不相信存在问题,但呈现标记的方式有所不同。如果你想控制进程,你也可以在writer.Write语句中自己渲染整个HTML。
writer.Write("<table border=\"0\">");
如果您遇到问题,请确保最终输出。我知道最大的区别在于渲染过程的发生方式(对于渲染开始标记,必须先添加属性,而writebegintag会在您之后添加属性)。
HTH。