0

我正在为非标准浏览器(Polycom Microbrowser)生成 XHTML。我想使用 XhtmlTextWriter,但它忽略了表格上的边框属性。这几乎是正确的做法,因为您应该使用 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。混合这些是否有任何已知问题?只要我使用匹配的呼叫,我就可以了吗?

4

1 回答 1

0

我不认为存在问题,但它呈现标签的方式有所不同。如果你想控制这个过程,你也可以在 writer.Write 语句中自己渲染整个 HTML。

writer.Write("<table border=\"0\">");

如果您遇到问题,只是为了确保最终输出。我知道最大的区别在于渲染过程的发生方式(对于渲染开始标签,必须在之前添加属性,而 writebegintag 在之后添加属性)。

HTH。

于 2011-02-28T16:37:57.367 回答