0

非標準のブラウザ(Polycom Microbrowser)用にXHTMLを生成しています。XhtmlTextWriterを使用したいのですが、テーブルのborder属性を無視します。CSSを使用して境界線を設定する必要があるため、これはほとんど正しい方法と同じです。残念ながら、PolycomはCSSをサポートしていません。

したがって、開始テーブルタグと終了テーブルタグをレンダリングするときは、HtmlTextWriter.RenderBeginTag/RenderEndTagの代わりにHtmlTextWriter.WriteBeginTag/WriteEndTagを使用する必要があります。

    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

問題があるとは思いませんが、タグのレンダリング方法に違いがあります。プロセスを制御したい場合は、HTML全体をwriter.Writeステートメントで自分でレンダリングすることもできます。

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

問題が発生した場合に最終出力を確認するためだけに。大きな違いは、レンダリングプロセスの実行方法です(render beginタグの場合、属性は前に追加する必要がありますが、writebegintagは後から属性を追加します)。

HTH。

于 2011-02-28T16:37:57.367 に答える