Есть ли проблемы со смешиванием WriteBeginTag и RenderBeginTag в одном и том же коде?

Я создаю XHTML для нестандартного браузера (Polycom Microbrowser). Я хотел бы использовать 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. Есть ли известные проблемы с их смешением? Я в порядке, пока я использую соответствующие звонки?

1 ответ

Решение

Я не верю, что есть проблема, но есть разница в способе визуализации тегов. Если вы хотите контролировать процесс, вы можете просто визуализировать весь HTML-код в выражении writer.Write.

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

Просто чтобы обеспечить окончательный результат, если у вас возникли проблемы с этим. Я знаю, что большая разница заключается в том, как происходит процесс рендеринга (для тега рендеринга начала атрибуты должны быть добавлены до, тогда как writebegintag добавляет атрибуты после того, как вы это сделали).

НТН.

Другие вопросы по тегам